public async Task <ResponseMessage> ReceiveMessageAsync( int responseTo, IMessageEncoderSelector encoderSelector, MessageEncoderSettings messageEncoderSettings, CancellationToken cancellationToken) { Ensure.IsNotNull(encoderSelector, nameof(encoderSelector)); ThrowIfDisposedOrNotOpen(); var helper = new ReceiveMessageHelper(this, responseTo, messageEncoderSettings, _compressorSource); try { helper.ReceivingMessage(); using (var buffer = await ReceiveBufferAsync(responseTo, cancellationToken).ConfigureAwait(false)) { var message = helper.DecodeMessage(buffer, encoderSelector, cancellationToken); helper.ReceivedMessage(buffer, message); return(message); } } catch (Exception ex) { helper.FailedReceivingMessage(ex); throw; } }
public ResponseMessage ReceiveMessage( int responseTo, IMessageEncoderSelector encoderSelector, MessageEncoderSettings messageEncoderSettings, CancellationToken cancellationToken) { Ensure.IsNotNull(encoderSelector, nameof(encoderSelector)); ThrowIfDisposedOrNotOpen(); var helper = new ReceiveMessageHelper(this, responseTo, messageEncoderSettings); try { helper.ReceivingMessage(); using (var buffer = ReceiveBuffer(responseTo, cancellationToken)) { var message = helper.DecodeMessage(buffer, encoderSelector, cancellationToken); helper.ReceivedMessage(buffer, message); return(message); } } catch (Exception ex) { helper.FailedReceivingMessage(ex); throw; } }
public async Task<ResponseMessage> ReceiveMessageAsync( int responseTo, IMessageEncoderSelector encoderSelector, MessageEncoderSettings messageEncoderSettings, CancellationToken cancellationToken) { Ensure.IsNotNull(encoderSelector, nameof(encoderSelector)); ThrowIfDisposedOrNotOpen(); var helper = new ReceiveMessageHelper(this, responseTo, messageEncoderSettings); try { helper.ReceivingMessage(); using (var buffer = await ReceiveBufferAsync(responseTo, cancellationToken).ConfigureAwait(false)) { var message = helper.DecodeMessage(buffer, encoderSelector, cancellationToken); helper.ReceivedMessage(buffer, message); return message; } } catch (Exception ex) { helper.FailedReceivingMessage(ex); throw; } }