syntax = "proto3"; package arbiter; import "auth.proto"; message ClientRequest { oneof payload { arbiter.auth.ClientMessage auth_message = 1; } } message ClientResponse { oneof payload { arbiter.auth.ServerMessage auth_message = 1; } } message UserAgentRequest { oneof payload { arbiter.auth.ClientMessage auth_message = 1; } } message UserAgentResponse { oneof payload { arbiter.auth.ServerMessage auth_message = 1; } } message ServerInfo { string version = 1; bytes cert_public_key = 2; } service ArbiterService { rpc Client(stream ClientRequest) returns (stream ClientResponse); rpc UserAgent(stream UserAgentRequest) returns (stream UserAgentResponse); }