예제 #1
0
        public void Encode(object message, IProtocolEncoderOutput output)
        {
            IDataBlock frame     = (IDataBlock)message;
            int        frameSize = (int)frame.Size; // TODO: sort out signed/unsigned
            ByteBuffer buffer    = ByteBuffer.Allocate(frameSize);

            frame.WritePayload(buffer);

            if (_logger.IsDebugEnabled)
            {
                _logger.Debug("Encoded frame byte-buffer is '" + ByteBufferHexDumper.GetHexDump(buffer) + "'");
            }
            buffer.Flip();
            output.Write(buffer);
        }