Ejemplo n.º 1
0
        private async Task <RequestResult> HandleIncomingRequestAsync(DebugRequest request)
        {
            _requestReceived.OnNext(request);
            await request.WaitForDeferralsAsync();

            return(request.Response);
        }
Ejemplo n.º 2
0
        protected override async Task <RequestResult> SendMessageCoreAsync(object message, RequestOptions options)
        {
            var request = new DebugRequest(message, this);

            if (options.IsResponseRequired)
            {
                try
                {
                    return(await OppositeConnection
                           .HandleIncomingRequestAsync(request)
                           .TimeoutAfter(options.ResponseTimeout));
                }
                catch (TimeoutException)
                {
                    return(new RequestResult(null, RequestStatus.ResponseTimeout));
                }
            }
            else
            {
                var task = OppositeConnection.HandleIncomingRequestAsync(request); // do not wait for response
                return(new RequestResult(null, RequestStatus.Success));
            }
        }