Package org.apache.cassandra.net
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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.cassandra.net.FrameDecoder
FrameDecoder.CorruptFrame, FrameDecoder.Frame, FrameDecoder.FrameProcessor, FrameDecoder.IntactFrame
-
-
Field Summary
-
Fields inherited from class org.apache.cassandra.net.FrameDecoder
allocator
-
-
Constructor Summary
Constructors Constructor Description FrameDecoderCrc(BufferPoolAllocator allocator)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FrameDecoderCrc
create(BufferPoolAllocator allocator)
protected void
decode(java.util.Collection<FrameDecoder.Frame> into, ShareableBytes newBytes, int headerLength)
Decode a number of frames using the above abstract method implementations.-
Methods inherited from class org.apache.cassandra.net.FrameDecoder
activate, channelInactive, channelRead, channelReadComplete, discard, handlerAdded, isActive, reactivate
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerRemoved, isSharable
-
-
-
-
Constructor Detail
-
FrameDecoderCrc
public FrameDecoderCrc(BufferPoolAllocator allocator)
-
-
Method Detail
-
create
public static FrameDecoderCrc create(BufferPoolAllocator allocator)
-
decode
@Inline protected void decode(java.util.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.
-
-