public override async Task RequestTelemetryStream(WindmillInfoRequest request, IServerStreamWriter <WindmillTelemetryResponse> responseStream, ServerCallContext context)
        {
            while (!context.CancellationToken.IsCancellationRequested)
            {
                //TODO add business logic to receive last event only once
                var last = windmillsDataReader.GetTelemetryValues(Guid.Parse(request.WindmillId)).LastOrDefault();
                _logger.LogInformation($"Sending windmill info for {last?.WindmillId} at {last?.EventTime}.");

                await responseStream.WriteAsync(last);

                // simulemos más trabajo
                await Task.Delay(1000);
            }
        }
 public override Task <WindmillTelemetryResponse> RequestTelemetry(WindmillInfoRequest request, ServerCallContext context)
 {
     return(Task.FromResult(windmillsDataReader.GetTelemetryValues(Guid.Parse(request.WindmillId)).LastOrDefault()));
 }