EnumSet<Header.Flag> decodedFlags = Header.Flag.deserialize(flags);
public void encode(ChannelHandlerContext ctx, Frame frame, List<Object> results) throws IOException { int headerLength = frame.header.version >= Server.VERSION_3 ? Header.MODERN_LENGTH : Header.LEGACY_LENGTH; ByteBuf header = CBUtil.allocator.buffer(headerLength); Message.Type type = frame.header.type; header.writeByte(type.direction.addToVersion(frame.header.version)); header.writeByte(Header.Flag.serialize(frame.header.flags)); if (frame.header.version >= Server.VERSION_3) header.writeShort(frame.header.streamId); else header.writeByte(frame.header.streamId); header.writeByte(type.opcode); header.writeInt(frame.body.readableBytes()); results.add(header); results.add(frame.body); } }
EnumSet<Header.Flag> decodedFlags = Header.Flag.deserialize(flags);
EnumSet<Header.Flag> decodedFlags = Header.Flag.deserialize(flags);
public void encode(ChannelHandlerContext ctx, Frame frame, List<Object> results) throws IOException { ByteBuf header = CBUtil.allocator.buffer(Header.LENGTH); Message.Type type = frame.header.type; header.writeByte(type.direction.addToVersion(frame.header.version.asInt())); header.writeByte(Header.Flag.serialize(frame.header.flags)); // Continue to support writing pre-v3 headers so that we can give proper error messages to drivers that // connect with the v1/v2 protocol. See CASSANDRA-11464. if (frame.header.version.isGreaterOrEqualTo(ProtocolVersion.V3)) header.writeShort(frame.header.streamId); else header.writeByte(frame.header.streamId); header.writeByte(type.opcode); header.writeInt(frame.body.readableBytes()); results.add(header); results.add(frame.body); } }
public void encode(ChannelHandlerContext ctx, Frame frame, List<Object> results) throws IOException { ByteBuf header = CBUtil.allocator.buffer(Header.LENGTH); Message.Type type = frame.header.type; header.writeByte(type.direction.addToVersion(frame.header.version.asInt())); header.writeByte(Header.Flag.serialize(frame.header.flags)); // Continue to support writing pre-v3 headers so that we can give proper error messages to drivers that // connect with the v1/v2 protocol. See CASSANDRA-11464. if (frame.header.version.isGreaterOrEqualTo(ProtocolVersion.V3)) header.writeShort(frame.header.streamId); else header.writeByte(frame.header.streamId); header.writeByte(type.opcode); header.writeInt(frame.body.readableBytes()); results.add(header); results.add(frame.body); } }
public void encode(ChannelHandlerContext ctx, Frame frame, List<Object> results) throws IOException { ByteBuf header = CBUtil.allocator.buffer(Header.LENGTH); Message.Type type = frame.header.type; header.writeByte(type.direction.addToVersion(frame.header.version.asInt())); header.writeByte(Header.Flag.serialize(frame.header.flags)); // Continue to support writing pre-v3 headers so that we can give proper error messages to drivers that // connect with the v1/v2 protocol. See CASSANDRA-11464. if (frame.header.version.isGreaterOrEqualTo(ProtocolVersion.V3)) header.writeShort(frame.header.streamId); else header.writeByte(frame.header.streamId); header.writeByte(type.opcode); header.writeInt(frame.body.readableBytes()); results.add(header); results.add(frame.body); } }
private Header(int version, int flags, int streamId, Message.Type type) { this(version, Flag.deserialize(flags), streamId, type); }
public static int serialize(EnumSet<Flag> flags) { int i = 0; for (Flag flag : flags) i |= 1 << flag.ordinal(); return i; } }
public static int serialize(EnumSet<Flag> flags) { int i = 0; for (Flag flag : flags) i |= 1 << flag.ordinal(); return i; } }
public static int serialize(EnumSet<Flag> flags) { int i = 0; for (Flag flag : flags) i |= 1 << flag.ordinal(); return i; } }
public static int serialize(EnumSet<Flag> flags) { int i = 0; for (Flag flag : flags) i |= 1 << flag.ordinal(); return i; } }