micro_traffic_sim 0.2.0

gRPC interface for microscopic traffic simulation via cellular automata
Documentation
syntax = "proto3";
package micro_traffic_sim; 
option go_package = "github.com/LdDl/micro_traffic_sim_grpc/clients/go;microtraffic";

import "uuid.proto";
import "session.proto";
import "cell.proto";
import "trip.proto";
import "step.proto";
import "tls.proto";
import "conflict_zones.proto";
import "record.proto";

service Service {
    // Create a new computation session
    rpc NewSession (SessionReq) returns (NewSessionResponse) {}
    // Get session info
    rpc InfoSession (UUIDv4) returns (InfoSessionResponse) {}
    // Set grid cell data for the given session (bidirectional streaming)
    rpc PushSessionGrid (stream SessionGrid) returns (stream SessionGridResponse) {}
    // Set trip data for the given session (bidirectional streaming)
    rpc PushSessionTrip (stream SessionTrip) returns (stream SessionTripResponse) {}
    // Run one simulation step for the given session (bidirectional streaming)
    rpc SimulationStepSession (stream SessionStep) returns (stream SessionStepResponse) {}
    // Set traffic light data for the given session (bidirectional streaming)
    rpc PushSessionTLS (stream SessionTLS) returns (stream SessionTLSResponse) {}
    // Set conflict zones for the given session (bidirectional streaming)
    rpc PushSessionConflictZones (stream SessionConflictZones) returns (stream SessionConflictZonesResponse) {}
    // Run the session forward headless (no per-tick round-trip) and stream
    // recorded trajectory batches for offline Parquet assembly + windowed replay.
    rpc RunAndRecord (RunAndRecordRequest) returns (stream RunAndRecordResponse) {}
    // Poll the progress/state of a running recording by session id (from any connection).
    rpc RecordingStatus (RecordingStatusRequest) returns (RecordingStatusResponse) {}
    // Request a running recording to stop (cooperative), by session id (from any connection).
    rpc StopRecording (StopRecordingRequest) returns (StopRecordingResponse) {}
}