syntax = "proto3"; package acts.grpc; // subscript message options message MessageOptions { string client_id = 1; // message type string type = 2; // message event string state = 3; // model tag string tag = 4; // message key string key = 5; } // grpc message with server or client message Message { string name = 1; string seq = 2; optional string ack = 3; optional bytes data = 4; } // acts service service ActsService { rpc Send(Message) returns (Message) {} // rpc OnFlow(Message) returns (stream Message) {} // rpc OnStep(Message) returns (stream Message) {} // rpc OnAct(Message) returns (stream Message) {} rpc OnMessage(MessageOptions) returns (stream Message) {} }