Currently, the LengthFieldBasedFrameDecoder reads a length, and then reads however many bytes the length specifies. Some protocols, include the length in the declared length field of a message. Without a way to make the LengthFieldBasedFrameDecoder subtract the length of the length field from the size to read, LengthFieldBasedFrameDecoder can't handle these sorts of protocols.