public void TestMessagePutHeader() { Message message = new Message(); message.PutLong(long.MinValue); Assert.AreEqual(8, message.ReadableBytes); Assert.AreEqual(message.ReaderIndex + 8, message.WriterIndex); var oldReaderIndex = message.ReaderIndex; var oldWriterIndex = message.WriterIndex; message.PutHeader((ushort)message.ReadableBytes); Assert.AreEqual(10, message.ReadableBytes); Assert.AreEqual(oldWriterIndex, message.WriterIndex); Assert.AreEqual(oldReaderIndex - 2, message.ReaderIndex); oldReaderIndex = message.ReaderIndex; oldWriterIndex = message.WriterIndex; message.PutHeader((uint)message.ReadableBytes); Assert.AreEqual(14, message.ReadableBytes); Assert.AreEqual(oldWriterIndex, message.WriterIndex); Assert.AreEqual(oldReaderIndex - 4, message.ReaderIndex); }
public virtual void OnSendMessage(Message message) { message.PutHeader((ushort)message.ReadableBytes); if (_hasXteaEncryption && _xteaKey != null) Xtea.Encrypt(message, _xteaKey); if (_hasChecksum) message.PutHeader(Adler.Generate(message)); if (_hasXteaEncryption || _hasChecksum) message.PutHeader((ushort)message.ReadableBytes); }