/// <summary> /// Writes all messages to the given stream /// </summary> /// <param name="stream"></param> public void Write(NetBufferStream stream) { if (stream == null) { throw new ArgumentNullException(nameof(stream)); } InternalWrite(stream); }
/// <summary> /// Writes all messages to the given message /// </summary> /// <param name="message"></param> public void Write(NetOutgoingMessage message) { if (message == null) { throw new ArgumentNullException(nameof(message)); } using (var stream = new NetBufferStream(message)) { InternalWrite(stream); } }
private void InternalWrite(NetBufferStream stream) { _list.WriteDelimitedTo(stream); if (_data.Length > int.MaxValue) { throw new ArgumentOutOfRangeException("Message data is too large to send"); } stream.Write(_data.GetBuffer(), 0, (int)_data.Length); Clear(); }