// Server side handler of the GetHello RPC public override Task <HelloReply> GetHello(HelloIdRequest request, ServerCallContext context) { count++; Console.WriteLine($"Request[{count}]: {request}"); var response = new HelloReply { Message = "Hello " + request.Id }; return(Task.FromResult(response)); }
// Server side handler of the GetStreamHello RPC public override async Task GetStreamHello(HelloIdRequest request, IServerStreamWriter <HelloReply> responseStream, ServerCallContext context) { count++; Console.WriteLine($"Request[{count}]: {request}"); for (int i = 1; i <= request.Id; i++) { var response = new HelloReply { Message = "Hello stream " + i + "/" + request.Id }; await responseStream.WriteAsync(response); } }
private HelloIdRequest BuildHelloIdRequest(string sender, int count) { //build request var request = new HelloIdRequest { Id = new Random().Next(1, 10) }; //request to array var req = request.ToByteArray(); var parsed_request = HelloIdRequest.Parser.ParseFrom(req); Console.WriteLine($"Sending[{count}]: Size={request.CalculateSize()}, StreamSize={req.Length}, ToString={request}, Parsed={parsed_request}"); return(request); }