public class org.apache.cassandra.transport.Message$ProtocolEncoder extends io.netty.handler.codec.MessageToMessageEncoder<org.apache.cassandra.transport.Message>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.transport.Message$ProtocolEncoder
super_class: io.netty.handler.codec.MessageToMessageEncoder
{
private final org.apache.cassandra.transport.ProtocolVersionLimit versionCap;
descriptor: Lorg/apache/cassandra/transport/ProtocolVersionLimit;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/transport/Message;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.transport.Message$ProtocolEncoder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(org.apache.cassandra.transport.ProtocolVersionLimit);
descriptor: (Lorg/apache/cassandra/transport/ProtocolVersionLimit;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial io.netty.handler.codec.MessageToMessageEncoder.<init>:()V
1: aload 0
aload 1
putfield org.apache.cassandra.transport.Message$ProtocolEncoder.versionCap:Lorg/apache/cassandra/transport/ProtocolVersionLimit;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/transport/Message$ProtocolEncoder;
0 3 1 versionCap Lorg/apache/cassandra/transport/ProtocolVersionLimit;
MethodParameters:
Name Flags
versionCap
public void encode(io.netty.channel.ChannelHandlerContext, org.apache.cassandra.transport.Message, java.util.List);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Lorg/apache/cassandra/transport/Message;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface io.netty.channel.ChannelHandlerContext.channel:()Lio/netty/channel/Channel;
getstatic org.apache.cassandra.transport.Connection.attributeKey:Lio/netty/util/AttributeKey;
invokeinterface io.netty.channel.Channel.attr:(Lio/netty/util/AttributeKey;)Lio/netty/util/Attribute;
invokeinterface io.netty.util.Attribute.get:()Ljava/lang/Object;
checkcast org.apache.cassandra.transport.Connection
astore 4
start local 4 1: aload 4
ifnonnull 2
aload 0
getfield org.apache.cassandra.transport.Message$ProtocolEncoder.versionCap:Lorg/apache/cassandra/transport/ProtocolVersionLimit;
invokeinterface org.apache.cassandra.transport.ProtocolVersionLimit.getMaxVersion:()Lorg/apache/cassandra/transport/ProtocolVersion;
goto 3
StackMap locals: org.apache.cassandra.transport.Connection
StackMap stack:
2: aload 4
invokevirtual org.apache.cassandra.transport.Connection.getVersion:()Lorg/apache/cassandra/transport/ProtocolVersion;
StackMap locals:
StackMap stack: org.apache.cassandra.transport.ProtocolVersion
3: astore 5
start local 5 4: ldc Lorg/apache/cassandra/transport/Frame$Header$Flag;
invokestatic java.util.EnumSet.noneOf:(Ljava/lang/Class;)Ljava/util/EnumSet;
astore 6
start local 6 5: aload 2
getfield org.apache.cassandra.transport.Message.type:Lorg/apache/cassandra/transport/Message$Type;
getfield org.apache.cassandra.transport.Message$Type.codec:Lorg/apache/cassandra/transport/Message$Codec;
astore 7
start local 7 6: aload 7
aload 2
aload 5
invokeinterface org.apache.cassandra.transport.Message$Codec.encodedSize:(Ljava/lang/Object;Lorg/apache/cassandra/transport/ProtocolVersion;)I
istore 8
start local 8 7: aload 2
instanceof org.apache.cassandra.transport.Message$Response
ifeq 32
8: aload 2
checkcast org.apache.cassandra.transport.Message$Response
invokevirtual org.apache.cassandra.transport.Message$Response.getTracingId:()Ljava/util/UUID;
astore 10
start local 10 9: aload 2
invokevirtual org.apache.cassandra.transport.Message.getCustomPayload:()Ljava/util/Map;
astore 11
start local 11 10: aload 10
ifnull 12
11: iload 8
aload 10
invokestatic org.apache.cassandra.transport.CBUtil.sizeOfUUID:(Ljava/util/UUID;)I
iadd
istore 8
12: StackMap locals: org.apache.cassandra.transport.Message$ProtocolEncoder io.netty.channel.ChannelHandlerContext org.apache.cassandra.transport.Message java.util.List org.apache.cassandra.transport.Connection org.apache.cassandra.transport.ProtocolVersion java.util.EnumSet org.apache.cassandra.transport.Message$Codec int top java.util.UUID java.util.Map
StackMap stack:
aload 2
checkcast org.apache.cassandra.transport.Message$Response
invokevirtual org.apache.cassandra.transport.Message$Response.getWarnings:()Ljava/util/List;
astore 12
start local 12 13: aload 12
ifnull 17
14: aload 5
getstatic org.apache.cassandra.transport.ProtocolVersion.V4:Lorg/apache/cassandra/transport/ProtocolVersion;
invokevirtual org.apache.cassandra.transport.ProtocolVersion.isSmallerThan:(Lorg/apache/cassandra/transport/ProtocolVersion;)Z
ifeq 16
15: new org.apache.cassandra.transport.ProtocolException
dup
ldc "Must not send frame with WARNING flag for native protocol version < 4"
invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals: java.util.List
StackMap stack:
iload 8
aload 12
invokestatic org.apache.cassandra.transport.CBUtil.sizeOfStringList:(Ljava/util/List;)I
iadd
istore 8
17: StackMap locals:
StackMap stack:
aload 11
ifnull 21
18: aload 5
getstatic org.apache.cassandra.transport.ProtocolVersion.V4:Lorg/apache/cassandra/transport/ProtocolVersion;
invokevirtual org.apache.cassandra.transport.ProtocolVersion.isSmallerThan:(Lorg/apache/cassandra/transport/ProtocolVersion;)Z
ifeq 20
19: new org.apache.cassandra.transport.ProtocolException
dup
ldc "Must not send frame with CUSTOM_PAYLOAD flag for native protocol version < 4"
invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
20: StackMap locals:
StackMap stack:
iload 8
aload 11
invokestatic org.apache.cassandra.transport.CBUtil.sizeOfBytesMap:(Ljava/util/Map;)I
iadd
istore 8
21: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.transport.CBUtil.allocator:Lio/netty/buffer/ByteBufAllocator;
iload 8
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 9
start local 9 22: aload 10
ifnull 25
23: aload 10
aload 9
invokestatic org.apache.cassandra.transport.CBUtil.writeUUID:(Ljava/util/UUID;Lio/netty/buffer/ByteBuf;)V
24: aload 6
getstatic org.apache.cassandra.transport.Frame$Header$Flag.TRACING:Lorg/apache/cassandra/transport/Frame$Header$Flag;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals: org.apache.cassandra.transport.Message$ProtocolEncoder io.netty.channel.ChannelHandlerContext org.apache.cassandra.transport.Message java.util.List org.apache.cassandra.transport.Connection org.apache.cassandra.transport.ProtocolVersion java.util.EnumSet org.apache.cassandra.transport.Message$Codec int io.netty.buffer.ByteBuf java.util.UUID java.util.Map java.util.List
StackMap stack:
aload 12
ifnull 28
26: aload 12
aload 9
invokestatic org.apache.cassandra.transport.CBUtil.writeStringList:(Ljava/util/List;Lio/netty/buffer/ByteBuf;)V
27: aload 6
getstatic org.apache.cassandra.transport.Frame$Header$Flag.WARNING:Lorg/apache/cassandra/transport/Frame$Header$Flag;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
28: StackMap locals:
StackMap stack:
aload 11
ifnull 42
29: aload 11
aload 9
invokestatic org.apache.cassandra.transport.CBUtil.writeBytesMap:(Ljava/util/Map;Lio/netty/buffer/ByteBuf;)V
30: aload 6
getstatic org.apache.cassandra.transport.Frame$Header$Flag.CUSTOM_PAYLOAD:Lorg/apache/cassandra/transport/Frame$Header$Flag;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 11 end local 10 31: goto 42
end local 9 32: StackMap locals: org.apache.cassandra.transport.Message$ProtocolEncoder io.netty.channel.ChannelHandlerContext org.apache.cassandra.transport.Message java.util.List org.apache.cassandra.transport.Connection org.apache.cassandra.transport.ProtocolVersion java.util.EnumSet org.apache.cassandra.transport.Message$Codec int
StackMap stack:
getstatic org.apache.cassandra.transport.Message$ProtocolEncoder.$assertionsDisabled:Z
ifne 33
aload 2
instanceof org.apache.cassandra.transport.Message$Request
ifne 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
aload 2
checkcast org.apache.cassandra.transport.Message$Request
invokevirtual org.apache.cassandra.transport.Message$Request.isTracingRequested:()Z
ifeq 35
34: aload 6
getstatic org.apache.cassandra.transport.Frame$Header$Flag.TRACING:Lorg/apache/cassandra/transport/Frame$Header$Flag;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
35: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.apache.cassandra.transport.Message.getCustomPayload:()Ljava/util/Map;
astore 10
start local 10 36: aload 10
ifnull 38
37: iload 8
aload 10
invokestatic org.apache.cassandra.transport.CBUtil.sizeOfBytesMap:(Ljava/util/Map;)I
iadd
istore 8
38: StackMap locals: org.apache.cassandra.transport.Message$ProtocolEncoder io.netty.channel.ChannelHandlerContext org.apache.cassandra.transport.Message java.util.List org.apache.cassandra.transport.Connection org.apache.cassandra.transport.ProtocolVersion java.util.EnumSet org.apache.cassandra.transport.Message$Codec int top java.util.Map
StackMap stack:
getstatic org.apache.cassandra.transport.CBUtil.allocator:Lio/netty/buffer/ByteBufAllocator;
iload 8
invokeinterface io.netty.buffer.ByteBufAllocator.buffer:(I)Lio/netty/buffer/ByteBuf;
astore 9
start local 9 39: aload 10
ifnull 42
40: aload 10
aload 9
invokestatic org.apache.cassandra.transport.CBUtil.writeBytesMap:(Ljava/util/Map;Lio/netty/buffer/ByteBuf;)V
41: aload 6
getstatic org.apache.cassandra.transport.Frame$Header$Flag.CUSTOM_PAYLOAD:Lorg/apache/cassandra/transport/Frame$Header$Flag;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
end local 10 42: StackMap locals: org.apache.cassandra.transport.Message$ProtocolEncoder io.netty.channel.ChannelHandlerContext org.apache.cassandra.transport.Message java.util.List org.apache.cassandra.transport.Connection org.apache.cassandra.transport.ProtocolVersion java.util.EnumSet org.apache.cassandra.transport.Message$Codec int io.netty.buffer.ByteBuf
StackMap stack:
aload 7
aload 2
aload 9
aload 5
invokeinterface org.apache.cassandra.transport.Message$Codec.encode:(Ljava/lang/Object;Lio/netty/buffer/ByteBuf;Lorg/apache/cassandra/transport/ProtocolVersion;)V
43: goto 47
44: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
start local 10 45: aload 9
invokevirtual io.netty.buffer.ByteBuf.release:()Z
pop
46: aload 10
athrow
end local 10 47: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.cassandra.transport.Message.forcedProtocolVersion:Lorg/apache/cassandra/transport/ProtocolVersion;
ifnonnull 49
48: aload 5
goto 50
49: StackMap locals:
StackMap stack:
aload 2
getfield org.apache.cassandra.transport.Message.forcedProtocolVersion:Lorg/apache/cassandra/transport/ProtocolVersion;
50: StackMap locals:
StackMap stack: org.apache.cassandra.transport.ProtocolVersion
astore 10
start local 10 51: aload 10
invokevirtual org.apache.cassandra.transport.ProtocolVersion.isBeta:()Z
ifeq 53
52: aload 6
getstatic org.apache.cassandra.transport.Frame$Header$Flag.USE_BETA:Lorg/apache/cassandra/transport/Frame$Header$Flag;
invokevirtual java.util.EnumSet.add:(Ljava/lang/Object;)Z
pop
53: StackMap locals: org.apache.cassandra.transport.ProtocolVersion
StackMap stack:
aload 3
aload 2
getfield org.apache.cassandra.transport.Message.type:Lorg/apache/cassandra/transport/Message$Type;
aload 2
invokevirtual org.apache.cassandra.transport.Message.getStreamId:()I
aload 10
aload 6
aload 9
invokestatic org.apache.cassandra.transport.Frame.create:(Lorg/apache/cassandra/transport/Message$Type;ILorg/apache/cassandra/transport/ProtocolVersion;Ljava/util/EnumSet;Lio/netty/buffer/ByteBuf;)Lorg/apache/cassandra/transport/Frame;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 8 54: goto 57
55: StackMap locals: org.apache.cassandra.transport.Message$ProtocolEncoder io.netty.channel.ChannelHandlerContext org.apache.cassandra.transport.Message java.util.List org.apache.cassandra.transport.Connection org.apache.cassandra.transport.ProtocolVersion java.util.EnumSet org.apache.cassandra.transport.Message$Codec
StackMap stack: java.lang.Throwable
astore 8
start local 8 56: aload 8
aload 2
invokevirtual org.apache.cassandra.transport.Message.getStreamId:()I
invokestatic org.apache.cassandra.transport.messages.ErrorMessage.wrap:(Ljava/lang/Throwable;I)Ljava/lang/RuntimeException;
athrow
end local 8 57: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 58 0 this Lorg/apache/cassandra/transport/Message$ProtocolEncoder;
0 58 1 ctx Lio/netty/channel/ChannelHandlerContext;
0 58 2 message Lorg/apache/cassandra/transport/Message;
0 58 3 results Ljava/util/List;
1 58 4 connection Lorg/apache/cassandra/transport/Connection;
4 58 5 version Lorg/apache/cassandra/transport/ProtocolVersion;
5 58 6 flags Ljava/util/EnumSet<Lorg/apache/cassandra/transport/Frame$Header$Flag;>;
6 58 7 codec Lorg/apache/cassandra/transport/Message$Codec<Lorg/apache/cassandra/transport/Message;>;
7 54 8 messageSize I
22 32 9 body Lio/netty/buffer/ByteBuf;
39 54 9 body Lio/netty/buffer/ByteBuf;
9 31 10 tracingId Ljava/util/UUID;
10 31 11 customPayload Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
13 31 12 warnings Ljava/util/List<Ljava/lang/String;>;
36 42 10 payload Ljava/util/Map<Ljava/lang/String;Ljava/nio/ByteBuffer;>;
45 47 10 e Ljava/lang/Throwable;
51 54 10 responseVersion Lorg/apache/cassandra/transport/ProtocolVersion;
56 57 8 e Ljava/lang/Throwable;
Exception table:
from to target type
42 43 44 Class java.lang.Throwable
6 54 55 Class java.lang.Throwable
MethodParameters:
Name Flags
ctx
message
results
public void encode(io.netty.channel.ChannelHandlerContext, java.lang.Object, java.util.List);
descriptor: (Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Object;Ljava/util/List;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
0: aload 0
aload 1
aload 2
checkcast org.apache.cassandra.transport.Message
aload 3
checkcast java.util.List
invokevirtual org.apache.cassandra.transport.Message$ProtocolEncoder.encode:(Lio/netty/channel/ChannelHandlerContext;Lorg/apache/cassandra/transport/Message;Ljava/util/List;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Lio/netty/handler/codec/MessageToMessageEncoder<Lorg/apache/cassandra/transport/Message;>;
SourceFile: "Message.java"
NestHost: org.apache.cassandra.transport.Message
InnerClasses:
public abstract Sharable = io.netty.channel.ChannelHandler$Sharable of io.netty.channel.ChannelHandler
public Header = org.apache.cassandra.transport.Frame$Header of org.apache.cassandra.transport.Frame
public final Flag = org.apache.cassandra.transport.Frame$Header$Flag of org.apache.cassandra.transport.Frame$Header
public abstract Codec = org.apache.cassandra.transport.Message$Codec of org.apache.cassandra.transport.Message
public ProtocolEncoder = org.apache.cassandra.transport.Message$ProtocolEncoder of org.apache.cassandra.transport.Message
public abstract Request = org.apache.cassandra.transport.Message$Request of org.apache.cassandra.transport.Message
public abstract Response = org.apache.cassandra.transport.Message$Response of org.apache.cassandra.transport.Message
public final Type = org.apache.cassandra.transport.Message$Type of org.apache.cassandra.transport.Message
RuntimeVisibleAnnotations:
io.netty.channel.ChannelHandler$Sharable()