public static Frame from(int streamId, FrameType type, int flags) { final Frame frame = RECYCLER.get(); frame.setRefCnt(1); frame.content = ByteBufAllocator.DEFAULT.buffer(RequestFrameFlyweight.computeFrameLength(type, null, 0)); frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, flags, type, Unpooled.EMPTY_BUFFER, Unpooled.EMPTY_BUFFER)); return frame; }
public static Frame from( int streamId, FrameType type, ByteBuf metadata, ByteBuf data, int initialRequestN, int flags) { final Frame frame = RECYCLER.get(); frame.setRefCnt(1); frame.content = ByteBufAllocator.DEFAULT.buffer( RequestFrameFlyweight.computeFrameLength( type, metadata.readableBytes(), data.readableBytes())); frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, flags, type, initialRequestN, metadata, data)); return frame; }
public static int encode( final ByteBuf byteBuf, final int streamId, int flags, final FrameType type, final int initialRequestN, final @Nullable ByteBuf metadata, final ByteBuf data) { if (Frame.isFlagSet(flags, FrameHeaderFlyweight.FLAGS_M) != (metadata != null)) { throw new IllegalArgumentException("metadata flag set incorrectly"); } final int frameLength = computeFrameLength( type, metadata != null ? metadata.readableBytes() : null, data.readableBytes()); int length = FrameHeaderFlyweight.encodeFrameHeader(byteBuf, frameLength, flags, type, streamId); byteBuf.setInt(INITIAL_REQUEST_N_FIELD_OFFSET, initialRequestN); length += Integer.BYTES; length += FrameHeaderFlyweight.encodeMetadata(byteBuf, type, length, metadata); length += FrameHeaderFlyweight.encodeData(byteBuf, length, data); return length; }
public static int encode( final ByteBuf byteBuf, final int streamId, final int flags, final FrameType type, final @Nullable ByteBuf metadata, final ByteBuf data) { if (Frame.isFlagSet(flags, FrameHeaderFlyweight.FLAGS_M) != (metadata != null)) { throw new IllegalArgumentException("metadata flag set incorrectly"); } if (type.hasInitialRequestN()) { throw new AssertionError(type + " must not be encoded without initial request N"); } final int frameLength = computeFrameLength( type, metadata != null ? metadata.readableBytes() : null, data.readableBytes()); int length = FrameHeaderFlyweight.encodeFrameHeader(byteBuf, frameLength, flags, type, streamId); length += FrameHeaderFlyweight.encodeMetadata(byteBuf, type, length, metadata); length += FrameHeaderFlyweight.encodeData(byteBuf, length, data); return length; }
public static Frame from(int streamId, FrameType type, Payload payload, int initialRequestN) { if (initialRequestN < 1) { throw new IllegalStateException("initial request n must be greater than 0"); } final @Nullable ByteBuf metadata = payload.hasMetadata() ? payload.sliceMetadata() : null; final ByteBuf data = payload.sliceData(); final Frame frame = RECYCLER.get(); frame.setRefCnt(1); frame.content = ByteBufAllocator.DEFAULT.buffer( RequestFrameFlyweight.computeFrameLength( type, metadata != null ? metadata.readableBytes() : null, data.readableBytes())); if (type.hasInitialRequestN()) { frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, metadata != null ? FLAGS_M : 0, type, initialRequestN, metadata, data)); } else { frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, metadata != null ? FLAGS_M : 0, type, metadata, data)); } return frame; }
public static Frame from(int streamId, FrameType type, int flags) { final Frame frame = RECYCLER.get(); frame.setRefCnt(1); frame.content = ByteBufAllocator.DEFAULT.buffer(RequestFrameFlyweight.computeFrameLength(type, null, 0)); frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, flags, type, Unpooled.EMPTY_BUFFER, Unpooled.EMPTY_BUFFER)); return frame; }
public static Frame from( int streamId, FrameType type, ByteBuf metadata, ByteBuf data, int initialRequestN, int flags) { final Frame frame = RECYCLER.get(); frame.setRefCnt(1); frame.content = ByteBufAllocator.DEFAULT.buffer( RequestFrameFlyweight.computeFrameLength( type, metadata.readableBytes(), data.readableBytes())); frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, flags, type, initialRequestN, metadata, data)); return frame; }
public static int encode( final ByteBuf byteBuf, final int streamId, final int flags, final FrameType type, final @Nullable ByteBuf metadata, final ByteBuf data) { if (Frame.isFlagSet(flags, FrameHeaderFlyweight.FLAGS_M) != (metadata != null)) { throw new IllegalArgumentException("metadata flag set incorrectly"); } if (type.hasInitialRequestN()) { throw new AssertionError(type + " must not be encoded without initial request N"); } final int frameLength = computeFrameLength( type, metadata != null ? metadata.readableBytes() : null, data.readableBytes()); int length = FrameHeaderFlyweight.encodeFrameHeader(byteBuf, frameLength, flags, type, streamId); length += FrameHeaderFlyweight.encodeMetadata(byteBuf, type, length, metadata); length += FrameHeaderFlyweight.encodeData(byteBuf, length, data); return length; }
public static int encode( final ByteBuf byteBuf, final int streamId, int flags, final FrameType type, final int initialRequestN, final @Nullable ByteBuf metadata, final ByteBuf data) { if (Frame.isFlagSet(flags, FrameHeaderFlyweight.FLAGS_M) != (metadata != null)) { throw new IllegalArgumentException("metadata flag set incorrectly"); } final int frameLength = computeFrameLength( type, metadata != null ? metadata.readableBytes() : null, data.readableBytes()); int length = FrameHeaderFlyweight.encodeFrameHeader(byteBuf, frameLength, flags, type, streamId); byteBuf.setInt(INITIAL_REQUEST_N_FIELD_OFFSET, initialRequestN); length += Integer.BYTES; length += FrameHeaderFlyweight.encodeMetadata(byteBuf, type, length, metadata); length += FrameHeaderFlyweight.encodeData(byteBuf, length, data); return length; }
public static Frame from(int streamId, FrameType type, Payload payload, int initialRequestN) { if (initialRequestN < 1) { throw new IllegalStateException("initial request n must be greater than 0"); } final @Nullable ByteBuf metadata = payload.hasMetadata() ? payload.sliceMetadata() : null; final ByteBuf data = payload.sliceData(); final Frame frame = RECYCLER.get(); frame.setRefCnt(1); frame.content = ByteBufAllocator.DEFAULT.buffer( RequestFrameFlyweight.computeFrameLength( type, metadata != null ? metadata.readableBytes() : null, data.readableBytes())); if (type.hasInitialRequestN()) { frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, metadata != null ? FLAGS_M : 0, type, initialRequestN, metadata, data)); } else { frame.content.writerIndex( RequestFrameFlyweight.encode( frame.content, streamId, metadata != null ? FLAGS_M : 0, type, metadata, data)); } return frame; }