public async Task StructAsyncUnaryCall() { for (int i = 0; i < ClientRepeatCount; ++i) { TestRequestStruct request = UnitTest1.GetRequestStruct(1); TestResponseStruct response = await UnitTest1.Client.StructAsyncUnaryCall(request).ConfigureAwait(false); } }
public void StructBlockingUnaryCall() { for (int i = 0; i < ClientRepeatCount; ++i) { TestRequestStruct request = UnitTest1.GetRequestStruct(1); TestResponseStruct response = UnitTest1.Client.StructBlockingUnaryCall(request); } }
public async Task StructServerStreaming() { using (var call = UnitTest1.Client.StructServerStreaming(UnitTest1.GetRequestStruct(ServerRepeatCount))) { while (await call.ResponseStream.MoveNext(System.Threading.CancellationToken.None).ConfigureAwait(false)) { TestResponseStruct response = call.ResponseStream.Current; } } }
public async Task StructAsyncUnaryCall() { TestRequestStruct request = new TestRequestStruct { IntValue = 2, DateTimeValue = DateTime.UtcNow }; TestResponseStruct response = await UnitTest1.Client.StructAsyncUnaryCall(request).ConfigureAwait(false); Assert.AreEqual(request.IntValue * -1, response.IntValue); Assert.AreEqual(request.DateTimeValue.AddDays(1), response.DateTimeValue); }
public void StructBlockingUnaryCall() { TestRequestStruct request = new TestRequestStruct { IntValue = 2, DateTimeValue = DateTime.UtcNow }; TestResponseStruct response = UnitTest1.Client.StructBlockingUnaryCall(request); Assert.AreEqual(request.IntValue * -1, response.IntValue); Assert.AreEqual(request.DateTimeValue.AddDays(1), response.DateTimeValue); }
/// <summary> /// /// </summary> /// <param name="request"></param> /// <param name="responseWriter"></param> /// <param name="context"></param> /// <returns></returns> public async Task ReceiveResponsesStruct(TestRequestStruct request, IServerStreamWriter <TestResponseStruct> responseWriter, ServerCallContext context) { for (int i = 0; i < request.IntValue; ++i) { TestResponseStruct response = new TestResponseStruct() { IntValue = i + 1, DateTimeValue = request.DateTimeValue.AddDays(1) }; await responseWriter.WriteAsync(response).ConfigureAwait(false); } }
public async Task StructClientStreaming() { using (var call = UnitTest1.Client.StructClientStreaming()) { for (int i = 0; i < ClientRepeatCount; ++i) { await call.RequestStream.WriteAsync(UnitTest1.GetRequestStruct(1)).ConfigureAwait(false); } await call.RequestStream.CompleteAsync().ConfigureAwait(false); TestResponseStruct response = await call.ResponseAsync.ConfigureAwait(false); } }
/// <summary> /// /// </summary> /// <param name="requestReader"></param> /// <param name="responseWriter"></param> /// <param name="context"></param> /// <returns></returns> public async Task SendAndReceiveStruct(IAsyncStreamReader <TestRequestStruct> requestReader, IServerStreamWriter <TestResponseStruct> responseWriter, ServerCallContext context) { while (await requestReader.MoveNext(context.CancellationToken).ConfigureAwait(false)) { for (int i = 0; i < requestReader.Current.IntValue; ++i) { TestResponseStruct response = new TestResponseStruct() { IntValue = i + 1, DateTimeValue = requestReader.Current.DateTimeValue.AddDays(1) }; await responseWriter.WriteAsync(response).ConfigureAwait(false); } } }
public async Task WriteRequestStructsAsync() { using (var call = UnitTest1.Client.StructClientStreaming()) { await call.WriteRequestsAsync(UnitTest1.GetRequestStructs(3)).ConfigureAwait(false); await call.WriteRequestsAsync(UnitTest1.GetRequestStructsAsync(3)).ConfigureAwait(false); await call.WriteRequestsAndCompleteAsync(UnitTest1.GetRequestStructs(3)).ConfigureAwait(false); TestResponseStruct response = await call.ResponseAsync.ConfigureAwait(false); Assert.AreEqual(18, response.IntValue); } }
public async Task StructConvertRequest() { TestRequestStruct convert(int value) { return(new TestRequestStruct { IntValue = value, DateTimeValue = DateTime.UtcNow }); } using (var call = UnitTest1.Client.StructClientStreaming().ConvertRequest((Func <int, TestRequestStruct>)convert)) { await call.WriteRequestsAndCompleteAsync(new int[] { 1, 2, 3 }).ConfigureAwait(false); TestResponseStruct response = await call.ResponseAsync.ConfigureAwait(false); Assert.AreEqual(6, response.IntValue); } }