public async Task DuplexStreamingCall(Status status = Status.Ok)
        {
            try
            {
                using (AsyncDuplexStreamingCall <PingRequest, PingResponse> call = _client.DuplexPing())
                {
                    Task responseReaderTask = Task.Run(async() =>
                    {
                        while (call != null && await call.ResponseStream.MoveNext())
                        {
                        }
                    });

                    await call.RequestStream.WriteAsync(new PingRequest()
                    {
                        Status = status
                    });

                    await call.RequestStream.WriteAsync(new PingRequest()
                    {
                        Status = status
                    });

                    await call.RequestStream.CompleteAsync();

                    await responseReaderTask;
                }
            }
            catch (Exception)
            {
                // ignored
            }
        }