Beispiel #1
0
        private static async Task DoDoublePing(DoublePing.DoublePingClient client, int requestNum, string payload, UInt16 delay)
        {
            var request = new PingRequest {
                Payload = payload, DelayMilliseconds = delay
            };

            try
            {
                IMessage <PingResponse> responseShouldThrow = await client.PingShouldThrowAsync(request);

                Console.WriteLine($"Request #{requestNum} response: \"{responseShouldThrow.Payload.Deserialize().Payload}\". Delay: {delay}");
            }
            catch (RpcException e)
            {
                Console.WriteLine($"Error!: #{e.Status.Detail} with code: {e.Status.StatusCode}");
            }

            IMessage <PingResponse> response = await client.PingAsync(request);

            Console.WriteLine($"Request #{requestNum} response: \"{response.Payload.Deserialize().Payload}\". Delay: {delay}");

            IMessage <PingResponse> responsePingNoPayload = await client.PingNoPayloadAsync();

            Console.WriteLine($"Request #{requestNum} response: \"{responsePingNoPayload.Payload.Deserialize().Payload}\".");

            await client.PingVoidAsync();

            client.PingNoResponseAsync(request);
        }