/** * Return the flags field for the frame * * @return frame flags field value */ public int flags() { return FrameHeaderFlyweight.flags(content); }
public static boolean isRequestChannelComplete(final Frame frame) { ensureFrameType(FrameType.REQUEST_CHANNEL, frame); final int flags = FrameHeaderFlyweight.flags(frame.content); return (flags & FrameHeaderFlyweight.FLAGS_C) == FrameHeaderFlyweight.FLAGS_C; } }
static @Nullable Integer decodeMetadataLength(final ByteBuf byteBuf, final int metadataOffset) { int flags = flags(byteBuf); if (FLAGS_M == (FLAGS_M & flags)) { return decodeLength(byteBuf, metadataOffset); } else { return null; } }
public static int getFlags(final Frame frame) { ensureFrameType(FrameType.SETUP, frame); final int flags = FrameHeaderFlyweight.flags(frame.content); return flags & SetupFrameFlyweight.VALID_FLAGS; }
public static boolean hasRespondFlag(final Frame frame) { ensureFrameType(FrameType.KEEPALIVE, frame); final int flags = FrameHeaderFlyweight.flags(frame.content); return (flags & KeepaliveFrameFlyweight.FLAGS_KEEPALIVE_R) == KeepaliveFrameFlyweight.FLAGS_KEEPALIVE_R; } }
private static int resumeTokenTotalLength(final ByteBuf byteBuf) { if ((FrameHeaderFlyweight.flags(byteBuf) & FLAGS_RESUME_ENABLE) == 0) { return 0; } else { return Short.BYTES + byteBuf.getShort(VARIABLE_DATA_OFFSET); } }
@Test public void canReadData() { ByteBuf data = Unpooled.wrappedBuffer(new byte[] {5, 4, 3}); int length = KeepaliveFrameFlyweight.encode(byteBuf, KeepaliveFrameFlyweight.FLAGS_KEEPALIVE_R, data); data.resetReaderIndex(); assertEquals( KeepaliveFrameFlyweight.FLAGS_KEEPALIVE_R, FrameHeaderFlyweight.flags(byteBuf) & KeepaliveFrameFlyweight.FLAGS_KEEPALIVE_R); assertEquals(data, FrameHeaderFlyweight.sliceFrameData(byteBuf)); }
/** * Return the flags field for the frame * * @return frame flags field value */ public int flags() { return FrameHeaderFlyweight.flags(content); }
@Test public void validResumeFrame() { ByteBuf token = Unpooled.wrappedBuffer(new byte[] {2, 3}); ByteBuf metadata = Unpooled.wrappedBuffer(new byte[] {1, 2, 3, 4}); ByteBuf data = Unpooled.wrappedBuffer(new byte[] {5, 4, 3}); SetupFrameFlyweight.encode( byteBuf, SetupFrameFlyweight.FLAGS_RESUME_ENABLE, 5, 500, token, "metadata_type", "data_type", metadata, data); token.resetReaderIndex(); metadata.resetReaderIndex(); data.resetReaderIndex(); assertEquals(FrameType.SETUP, FrameHeaderFlyweight.frameType(byteBuf)); assertEquals("metadata_type", SetupFrameFlyweight.metadataMimeType(byteBuf)); assertEquals("data_type", SetupFrameFlyweight.dataMimeType(byteBuf)); assertEquals(metadata, FrameHeaderFlyweight.sliceFrameMetadata(byteBuf)); assertEquals(data, FrameHeaderFlyweight.sliceFrameData(byteBuf)); assertEquals( SetupFrameFlyweight.FLAGS_RESUME_ENABLE, FrameHeaderFlyweight.flags(byteBuf) & SetupFrameFlyweight.FLAGS_RESUME_ENABLE); }
public static int getFlags(final Frame frame) { ensureFrameType(FrameType.SETUP, frame); final int flags = FrameHeaderFlyweight.flags(frame.content); return flags & SetupFrameFlyweight.VALID_FLAGS; }
static @Nullable Integer decodeMetadataLength(final ByteBuf byteBuf, final int metadataOffset) { int flags = flags(byteBuf); if (FLAGS_M == (FLAGS_M & flags)) { return decodeLength(byteBuf, metadataOffset); } else { return null; } }
public static boolean hasRespondFlag(final Frame frame) { ensureFrameType(FrameType.KEEPALIVE, frame); final int flags = FrameHeaderFlyweight.flags(frame.content); return (flags & KeepaliveFrameFlyweight.FLAGS_KEEPALIVE_R) == KeepaliveFrameFlyweight.FLAGS_KEEPALIVE_R; } }
public static boolean isRequestChannelComplete(final Frame frame) { ensureFrameType(FrameType.REQUEST_CHANNEL, frame); final int flags = FrameHeaderFlyweight.flags(frame.content); return (flags & FrameHeaderFlyweight.FLAGS_C) == FrameHeaderFlyweight.FLAGS_C; } }
private static int resumeTokenTotalLength(final ByteBuf byteBuf) { if ((FrameHeaderFlyweight.flags(byteBuf) & FLAGS_RESUME_ENABLE) == 0) { return 0; } else { return Short.BYTES + byteBuf.getShort(VARIABLE_DATA_OFFSET); } }