Exemple #1
0
        public override async Task GenerateNumber(GenerateNumbersRequest request, IServerStreamWriter <GetNumbersResponse> responseStream, ServerCallContext context)
        {
            _logger.LogInformation($"{request.Count} number generation requested");

            await foreach (int number in _generator.Generate(request.Count))
            {
                await responseStream.WriteAsync(new GetNumbersResponse { Number = number });
            }
        }
Exemple #2
0
        public async IAsyncEnumerable <int> GenerateNumbers(int count)
        {
            GenerateController.GenerateControllerClient client = _factory.CreateClient <GenerateController.GenerateControllerClient>();

            GenerateNumbersRequest request = new GenerateNumbersRequest {
                Count = count
            };

            using (AsyncServerStreamingCall <GetNumbersResponse> streamingCall = client.GenerateNumber(request))
            {
                await foreach (GetNumbersResponse response in streamingCall.ResponseStream.ReadAllAsync())
                {
                    yield return(response.Number);
                }
            }
        }