private async Task HandleIncomingAsync(ITransportChannelCloseHeader header, ChannelMessage message) { if (_channels.TryGetValue(header.ChannelId, out var channel)) { await channel.HandleIncomingAsync(message).ConfigureAwait(false); } else { _log.Trace("Skipping message because the specified channel not found: {0}", header); message.Dispose(); } }
private async Task HandleChannelHeaderAsync(ITransportChannelHeader header, Maybe <IPooledBuffer> payload) { var message = new ChannelMessage(header, payload); try { await _buffer.Out.WriteAsync(message).ConfigureAwait(false); } catch { message.Dispose(); throw; } }
private void Dispose(ChannelMessage message) { _log.Trace("Disposing message {0}", message); message.Dispose(); }