Class FrameDecoderCrc

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
org.apache.cassandra.net.FrameDecoder
org.apache.cassandra.net.FrameDecoderCrc
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

public final class FrameDecoderCrc extends FrameDecoder
Framing format that protects integrity of data in movement with CRCs (of both header and payload). Every on-wire frame contains: 1. Payload length (17 bits) 2. isSelfContained flag (1 bit) 3. Header padding (6 bits) 4. CRC24 of the header (24 bits) 5. Payload (up to 2 ^ 17 - 1 bits) 6. Payload CRC32 (32 bits) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length |C| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ CRC24 of Header | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | | + + | Payload | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CRC32 of Payload | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  • Constructor Details

  • Method Details

    • create

      public static FrameDecoderCrc create(BufferPoolAllocator allocator)
    • decode

      @Inline protected void decode(Collection<FrameDecoder.Frame> into, ShareableBytes newBytes, int headerLength)
      Decode a number of frames using the above abstract method implementations. It is expected for this method to be invoked by the implementing class' FrameDecoder.decode(Collection, ShareableBytes) so that this implementation will be inlined, and all of the abstract method implementations will also be inlined.