gRPC Binding
This page captures the MIG/gRPC binding reference from the repository proto/mig/v0_1/mig.proto.
Required Services
Section titled “Required Services”Discovery:Hello,DiscoverInvocation:Invoke,StreamInvokeEvents:Publish,SubscribeControl:Cancel,Heartbeat
Proto Definition (Core)
Section titled “Proto Definition (Core)”syntax = "proto3";
package mig.v0_1;
service Discovery { rpc Hello(HelloRequest) returns (HelloResponse); rpc Discover(DiscoverRequest) returns (DiscoverResponse);}
service Invocation { rpc Invoke(InvokeRequest) returns (InvokeResponse); rpc StreamInvoke(stream StreamFrame) returns (stream StreamFrame);}
service Events { rpc Publish(PublishRequest) returns (PublishAck); rpc Subscribe(SubscribeRequest) returns (stream EventMessage);}
service Control { rpc Cancel(CancelRequest) returns (CancelAck); rpc Heartbeat(HeartbeatRequest) returns (HeartbeatAck);}Message Header Contract
Section titled “Message Header Contract”message MessageHeader { string mig_version = 1; string message_id = 2; google.protobuf.Timestamp timestamp = 3; string tenant_id = 4; string session_id = 5; string traceparent = 6; string idempotency_key = 7; uint32 deadline_ms = 8; google.protobuf.Struct meta = 9;}For full protocol semantics, see Concepts and Core Specification.