public AsyncServerStreamingCall <FlightResult> DoAction(FlightAction action, Metadata headers = null) { var stream = _client.DoAction(action.ToProtocol(), headers); var streamReader = new StreamReader <Protocol.Result, FlightResult>(stream.ResponseStream, result => new FlightResult(result)); return(new AsyncServerStreamingCall <FlightResult>(streamReader, stream.ResponseHeadersAsync, stream.GetStatus, stream.GetTrailers, stream.Dispose)); }
public override Task DoAction(Protocol.Action request, IServerStreamWriter <Protocol.Result> responseStream, ServerCallContext context) { var action = new FlightAction(request); var writeStream = new StreamWriter <FlightResult, Protocol.Result>(responseStream, result => result.ToProtocol()); return(_flightServer.DoAction(action, writeStream, context)); }
public override async Task DoAction(FlightAction request, IAsyncStreamWriter <FlightResult> responseStream, ServerCallContext context) { switch (request.Type) { case "test": await responseStream.WriteAsync(new FlightResult("test data")); break; default: throw new NotImplementedException(); } }
public override Task DoAction( FlightAction request, IAsyncStreamWriter <FlightResult> responseStream, ServerCallContext context ) { if (request.Type == "clear") { _flightData.Flights.Clear(); _flightData.Tables.Clear(); } else { throw new RpcException(new Status(StatusCode.InvalidArgument, "Action does not exist.")); } return(Task.CompletedTask); }
public virtual Task DoAction(FlightAction request, IAsyncStreamWriter <FlightResult> responseStream, ServerCallContext context) { throw new NotImplementedException(); }