public void Write( byte[] payload, string channelName ) { var frame = new TcpMultiplexerFrame { Preamble = _preamble, ChannelNameLength = (byte)channelName.Length, ChannelName = channelName, PayloadLength = payload.Length, Payload = payload, }; var buffer = frame.ToBytes (); _stream.Write (buffer, 0, buffer.Length); _stream.Flush (); _logger.Debug ("TcpMultiplexerWriter {0}", frame); }
public Task WriteAsync( byte[] payload, string channelName ) { var frame = new TcpMultiplexerFrame { Preamble = _preamble, ChannelNameLength = (byte)channelName.Length, ChannelName = channelName, PayloadLength = payload.Length, Payload = payload, }; var buffer = frame.ToBytes (); return _stream.WriteAsync (buffer, 0, buffer.Length).ContinueWith( t => { _stream.FlushAsync(); _logger.Debug ("TcpMultiplexerWriter {0}", frame); }); }