syntax = "proto3"; package streamsvc; option go_package = "example.com/demo/pb"; message StreamReq { string input = 1; } message StreamReply { string output = 1; } service StreamService { // ServerStream: client sends one request, server returns a stream of responses. rpc ServerStream(StreamReq) returns (stream StreamReply); // ClientStream: client sends a stream of requests, server returns one response. rpc ClientStream(stream StreamReq) returns (StreamReply); // BidiStream: both client and server send streams of messages. rpc BidiStream(stream StreamReq) returns (stream StreamReply); }