public class org.apache.cassandra.transport.ServerConnection extends org.apache.cassandra.transport.Connection
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.transport.ServerConnection
super_class: org.apache.cassandra.transport.Connection
{
private volatile org.apache.cassandra.auth.IAuthenticator$SaslNegotiator saslNegotiator;
descriptor: Lorg/apache/cassandra/auth/IAuthenticator$SaslNegotiator;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final org.apache.cassandra.service.ClientState clientState;
descriptor: Lorg/apache/cassandra/service/ClientState;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile org.apache.cassandra.transport.ServerConnection$State state;
descriptor: Lorg/apache/cassandra/transport/ServerConnection$State;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final java.util.concurrent.ConcurrentMap<java.lang.Integer, org.apache.cassandra.service.QueryState> queryStates;
descriptor: Ljava/util/concurrent/ConcurrentMap;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/Integer;Lorg/apache/cassandra/service/QueryState;>;
private static volatile int[] $SWITCH_TABLE$org$apache$cassandra$transport$ServerConnection$State;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
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/ServerConnection;
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.ServerConnection.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.netty.channel.Channel, org.apache.cassandra.transport.ProtocolVersion, org.apache.cassandra.transport.Connection$Tracker);
descriptor: (Lio/netty/channel/Channel;Lorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/transport/Connection$Tracker;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokespecial org.apache.cassandra.transport.Connection.<init>:(Lio/netty/channel/Channel;Lorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/transport/Connection$Tracker;)V
1: aload 0
new java.util.concurrent.ConcurrentHashMap
dup
invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
putfield org.apache.cassandra.transport.ServerConnection.queryStates:Ljava/util/concurrent/ConcurrentMap;
2: aload 0
aload 1
invokeinterface io.netty.channel.Channel.remoteAddress:()Ljava/net/SocketAddress;
invokestatic org.apache.cassandra.service.ClientState.forExternalCalls:(Ljava/net/SocketAddress;)Lorg/apache/cassandra/service/ClientState;
putfield org.apache.cassandra.transport.ServerConnection.clientState:Lorg/apache/cassandra/service/ClientState;
3: aload 0
getstatic org.apache.cassandra.transport.ServerConnection$State.UNINITIALIZED:Lorg/apache/cassandra/transport/ServerConnection$State;
putfield org.apache.cassandra.transport.ServerConnection.state:Lorg/apache/cassandra/transport/ServerConnection$State;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/transport/ServerConnection;
0 5 1 channel Lio/netty/channel/Channel;
0 5 2 version Lorg/apache/cassandra/transport/ProtocolVersion;
0 5 3 tracker Lorg/apache/cassandra/transport/Connection$Tracker;
MethodParameters:
Name Flags
channel
version
tracker
private org.apache.cassandra.service.QueryState getQueryState(int);
descriptor: (I)Lorg/apache/cassandra/service/QueryState;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.transport.ServerConnection.queryStates:Ljava/util/concurrent/ConcurrentMap;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.service.QueryState
astore 2
start local 2 1: aload 2
ifnonnull 5
2: new org.apache.cassandra.service.QueryState
dup
aload 0
getfield org.apache.cassandra.transport.ServerConnection.clientState:Lorg/apache/cassandra/service/ClientState;
invokespecial org.apache.cassandra.service.QueryState.<init>:(Lorg/apache/cassandra/service/ClientState;)V
astore 3
start local 3 3: aload 0
getfield org.apache.cassandra.transport.ServerConnection.queryStates:Ljava/util/concurrent/ConcurrentMap;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 3
invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.apache.cassandra.service.QueryState
dup
astore 2
ifnonnull 5
4: aload 3
astore 2
end local 3 5: StackMap locals: org.apache.cassandra.service.QueryState
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/cassandra/transport/ServerConnection;
0 6 1 streamId I
1 6 2 qState Lorg/apache/cassandra/service/QueryState;
3 5 3 newState Lorg/apache/cassandra/service/QueryState;
MethodParameters:
Name Flags
streamId
public org.apache.cassandra.service.QueryState validateNewMessage(org.apache.cassandra.transport.Message$Type, org.apache.cassandra.transport.ProtocolVersion, int);
descriptor: (Lorg/apache/cassandra/transport/Message$Type;Lorg/apache/cassandra/transport/ProtocolVersion;I)Lorg/apache/cassandra/service/QueryState;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: invokestatic org.apache.cassandra.transport.ServerConnection.$SWITCH_TABLE$org$apache$cassandra$transport$ServerConnection$State:()[I
aload 0
getfield org.apache.cassandra.transport.ServerConnection.state:Lorg/apache/cassandra/transport/ServerConnection$State;
invokevirtual org.apache.cassandra.transport.ServerConnection$State.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 1
2: 3
3: 7
default: 9
}
1: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.cassandra.transport.Message$Type.STARTUP:Lorg/apache/cassandra/transport/Message$Type;
if_acmpeq 10
aload 1
getstatic org.apache.cassandra.transport.Message$Type.OPTIONS:Lorg/apache/cassandra/transport/Message$Type;
if_acmpeq 10
2: new org.apache.cassandra.transport.ProtocolException
dup
ldc "Unexpected message %s, expecting STARTUP or OPTIONS"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.cassandra.transport.Message$Type.AUTH_RESPONSE:Lorg/apache/cassandra/transport/Message$Type;
if_acmpeq 10
aload 1
getstatic org.apache.cassandra.transport.Message$Type.CREDENTIALS:Lorg/apache/cassandra/transport/Message$Type;
if_acmpeq 10
4: new org.apache.cassandra.transport.ProtocolException
dup
ldc "Unexpected message %s, expecting %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
getstatic org.apache.cassandra.transport.ProtocolVersion.V1:Lorg/apache/cassandra/transport/ProtocolVersion;
if_acmpne 5
ldc "CREDENTIALS"
goto 6
StackMap locals: org.apache.cassandra.transport.ServerConnection org.apache.cassandra.transport.Message$Type org.apache.cassandra.transport.ProtocolVersion int
StackMap stack: new 4 new 4 java.lang.String java.lang.Object[] java.lang.Object[] int
5: ldc "SASL_RESPONSE"
StackMap locals: org.apache.cassandra.transport.ServerConnection org.apache.cassandra.transport.Message$Type org.apache.cassandra.transport.ProtocolVersion int
StackMap stack: new 4 new 4 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
6: aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.cassandra.transport.Message$Type.STARTUP:Lorg/apache/cassandra/transport/Message$Type;
if_acmpne 10
8: new org.apache.cassandra.transport.ProtocolException
dup
ldc "Unexpected message STARTUP, the connection is already initialized"
invokespecial org.apache.cassandra.transport.ProtocolException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 0
iload 3
invokevirtual org.apache.cassandra.transport.ServerConnection.getQueryState:(I)Lorg/apache/cassandra/service/QueryState;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/transport/ServerConnection;
0 11 1 type Lorg/apache/cassandra/transport/Message$Type;
0 11 2 version Lorg/apache/cassandra/transport/ProtocolVersion;
0 11 3 streamId I
MethodParameters:
Name Flags
type
version
streamId
public void applyStateTransition(org.apache.cassandra.transport.Message$Type, org.apache.cassandra.transport.Message$Type);
descriptor: (Lorg/apache/cassandra/transport/Message$Type;Lorg/apache/cassandra/transport/Message$Type;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.apache.cassandra.transport.ServerConnection.$SWITCH_TABLE$org$apache$cassandra$transport$ServerConnection$State:()[I
aload 0
getfield org.apache.cassandra.transport.ServerConnection.state:Lorg/apache/cassandra/transport/ServerConnection$State;
invokevirtual org.apache.cassandra.transport.ServerConnection$State.ordinal:()I
iaload
tableswitch { // 1 - 3
1: 1
2: 7
3: 12
default: 13
}
1: StackMap locals:
StackMap stack:
aload 1
getstatic org.apache.cassandra.transport.Message$Type.STARTUP:Lorg/apache/cassandra/transport/Message$Type;
if_acmpne 14
2: aload 2
getstatic org.apache.cassandra.transport.Message$Type.AUTHENTICATE:Lorg/apache/cassandra/transport/Message$Type;
if_acmpne 4
3: aload 0
getstatic org.apache.cassandra.transport.ServerConnection$State.AUTHENTICATION:Lorg/apache/cassandra/transport/ServerConnection$State;
putfield org.apache.cassandra.transport.ServerConnection.state:Lorg/apache/cassandra/transport/ServerConnection$State;
goto 14
4: StackMap locals:
StackMap stack:
aload 2
getstatic org.apache.cassandra.transport.Message$Type.READY:Lorg/apache/cassandra/transport/Message$Type;
if_acmpne 14
5: aload 0
getstatic org.apache.cassandra.transport.ServerConnection$State.READY:Lorg/apache/cassandra/transport/ServerConnection$State;
putfield org.apache.cassandra.transport.ServerConnection.state:Lorg/apache/cassandra/transport/ServerConnection$State;
6: goto 14
7: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.transport.ServerConnection.$assertionsDisabled:Z
ifne 8
aload 1
getstatic org.apache.cassandra.transport.Message$Type.AUTH_RESPONSE:Lorg/apache/cassandra/transport/Message$Type;
if_acmpeq 8
aload 1
getstatic org.apache.cassandra.transport.Message$Type.CREDENTIALS:Lorg/apache/cassandra/transport/Message$Type;
if_acmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 2
getstatic org.apache.cassandra.transport.Message$Type.READY:Lorg/apache/cassandra/transport/Message$Type;
if_acmpeq 9
aload 2
getstatic org.apache.cassandra.transport.Message$Type.AUTH_SUCCESS:Lorg/apache/cassandra/transport/Message$Type;
if_acmpne 14
9: StackMap locals:
StackMap stack:
aload 0
getstatic org.apache.cassandra.transport.ServerConnection$State.READY:Lorg/apache/cassandra/transport/ServerConnection$State;
putfield org.apache.cassandra.transport.ServerConnection.state:Lorg/apache/cassandra/transport/ServerConnection$State;
10: aload 0
aconst_null
putfield org.apache.cassandra.transport.ServerConnection.saslNegotiator:Lorg/apache/cassandra/auth/IAuthenticator$SaslNegotiator;
11: goto 14
12: StackMap locals:
StackMap stack:
goto 14
13: StackMap locals:
StackMap stack:
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/apache/cassandra/transport/ServerConnection;
0 15 1 requestType Lorg/apache/cassandra/transport/Message$Type;
0 15 2 responseType Lorg/apache/cassandra/transport/Message$Type;
MethodParameters:
Name Flags
requestType
responseType
public org.apache.cassandra.auth.IAuthenticator$SaslNegotiator getSaslNegotiator(org.apache.cassandra.service.QueryState);
descriptor: (Lorg/apache/cassandra/service/QueryState;)Lorg/apache/cassandra/auth/IAuthenticator$SaslNegotiator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.transport.ServerConnection.saslNegotiator:Lorg/apache/cassandra/auth/IAuthenticator$SaslNegotiator;
ifnonnull 2
1: aload 0
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getAuthenticator:()Lorg/apache/cassandra/auth/IAuthenticator;
aload 1
invokevirtual org.apache.cassandra.service.QueryState.getClientAddress:()Ljava/net/InetAddress;
invokeinterface org.apache.cassandra.auth.IAuthenticator.newSaslNegotiator:(Ljava/net/InetAddress;)Lorg/apache/cassandra/auth/IAuthenticator$SaslNegotiator;
putfield org.apache.cassandra.transport.ServerConnection.saslNegotiator:Lorg/apache/cassandra/auth/IAuthenticator$SaslNegotiator;
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.transport.ServerConnection.saslNegotiator:Lorg/apache/cassandra/auth/IAuthenticator$SaslNegotiator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/transport/ServerConnection;
0 3 1 queryState Lorg/apache/cassandra/service/QueryState;
MethodParameters:
Name Flags
queryState
static int[] $SWITCH_TABLE$org$apache$cassandra$transport$ServerConnection$State();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.apache.cassandra.transport.ServerConnection.$SWITCH_TABLE$org$apache$cassandra$transport$ServerConnection$State:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.apache.cassandra.transport.ServerConnection$State.values:()[Lorg/apache/cassandra/transport/ServerConnection$State;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.apache.cassandra.transport.ServerConnection$State.AUTHENTICATION:Lorg/apache/cassandra/transport/ServerConnection$State;
invokevirtual org.apache.cassandra.transport.ServerConnection$State.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.apache.cassandra.transport.ServerConnection$State.READY:Lorg/apache/cassandra/transport/ServerConnection$State;
invokevirtual org.apache.cassandra.transport.ServerConnection$State.ordinal:()I
iconst_3
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.apache.cassandra.transport.ServerConnection$State.UNINITIALIZED:Lorg/apache/cassandra/transport/ServerConnection$State;
invokevirtual org.apache.cassandra.transport.ServerConnection$State.ordinal:()I
iconst_1
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
dup
putstatic org.apache.cassandra.transport.ServerConnection.$SWITCH_TABLE$org$apache$cassandra$transport$ServerConnection$State:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
}
SourceFile: "ServerConnection.java"
NestMembers:
org.apache.cassandra.transport.ServerConnection$State
InnerClasses:
public abstract SaslNegotiator = org.apache.cassandra.auth.IAuthenticator$SaslNegotiator of org.apache.cassandra.auth.IAuthenticator
public abstract Tracker = org.apache.cassandra.transport.Connection$Tracker of org.apache.cassandra.transport.Connection
public final Type = org.apache.cassandra.transport.Message$Type of org.apache.cassandra.transport.Message
private final State = org.apache.cassandra.transport.ServerConnection$State of org.apache.cassandra.transport.ServerConnection