public void WithLogging_Sync() { var logger = new MemoryLogger("category"); var call = new ApiServerStreamingCall <SimpleRequest, SimpleResponse>( "SimpleMethod", (req, cs) => Task.FromResult(default(AsyncServerStreamingCall <SimpleResponse>)), (req, cs) => null, null).WithLogging(logger); call.Call(new SimpleRequest(), null); var entries = logger.ListLogEntries(); Assert.Equal(2, entries.Count); Assert.All(entries, entry => Assert.Contains("SimpleMethod", entry.Message)); }
/// <summary> /// Executes an SQL Query on Spanner returning the results as a set of partialresult streams. /// </summary> /// <param name="request"></param> /// <param name="callSettings"></param> /// <returns></returns> public override AsyncServerStreamingCall <PartialResultSet> ExecuteSqlStream(ExecuteSqlRequest request, CallSettings callSettings = null) { Modify_ExecuteSqlRequest(ref request, ref callSettings); return(_callExecuteSqlStream.Call(request, callSettings)); }
private static async Task <TResponse> Call <TRequest, TResponse>( bool async, ApiServerStreamingCall <TRequest, TResponse> call, TRequest request, CallSettings callSettings) where TRequest : class, IMessage <TRequest> where TResponse : class, IMessage <TResponse> { var streamingCall = async ? await call.CallAsync(request, callSettings) : call.Call(request, callSettings); // return the first (and only) response message. await streamingCall.ResponseStream.MoveNext(); return(streamingCall.ResponseStream.Current); }