public override async Task ServerStreamingEchoAbort(ServerStreamingEchoRequest request, IServerStreamWriter <ServerStreamingEchoResponse> responseStream, ServerCallContext context)
        {
            await responseStream.WriteAsync(new ServerStreamingEchoResponse
            {
                Message = request.Message
            });

            throw new RpcException(new Status(StatusCode.Aborted, "Aborted from server side."));
        }
Beispiel #2
0
        public override async Task ServerStreamingEcho(ServerStreamingEchoRequest request, IServerStreamWriter <ServerStreamingEchoResponse> responseStream, ServerCallContext context)
        {
            for (var i = 0; i < request.MessageCount; i++)
            {
                await responseStream.WriteAsync(new ServerStreamingEchoResponse
                {
                    Message = request.Message
                });

                await Task.Delay(request.MessageInterval.ToTimeSpan());
            }
        }
        public override async Task ServerStreamingEcho(ServerStreamingEchoRequest request, IServerStreamWriter <ServerStreamingEchoResponse> responseStream, ServerCallContext context)
        {
            for (var i = 0; i < request.MessageCount; i++)
            {
                await responseStream.WriteAsync(new ServerStreamingEchoResponse
                {
                    Message = request.Message
                });

                try
                {
                    await Task.Delay(request.MessageInterval.ToTimeSpan(), context.CancellationToken);
                }
                catch (OperationCanceledException)
                {
                    return;
                }
            }
        }