Skip to content

gRPC Binding

This page captures the MIG/gRPC binding reference from the repository proto/mig/v0_1/mig.proto.

  • Discovery: Hello, Discover
  • Invocation: Invoke, StreamInvoke
  • Events: Publish, Subscribe
  • Control: Cancel, Heartbeat
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 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.