public class org.apache.cassandra.transport.Client extends org.apache.cassandra.transport.SimpleClient
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.transport.Client
super_class: org.apache.cassandra.transport.SimpleClient
{
private final org.apache.cassandra.transport.SimpleClient$SimpleEventHandler eventHandler;
descriptor: Lorg/apache/cassandra/transport/SimpleClient$SimpleEventHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.lang.String, int, org.apache.cassandra.transport.ProtocolVersion, org.apache.cassandra.config.EncryptionOptions$ClientEncryptionOptions);
descriptor: (Ljava/lang/String;ILorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/config/EncryptionOptions$ClientEncryptionOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
iload 2
aload 3
aload 4
invokespecial org.apache.cassandra.transport.SimpleClient.<init>:(Ljava/lang/String;ILorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/config/EncryptionOptions$ClientEncryptionOptions;)V
1: aload 0
new org.apache.cassandra.transport.SimpleClient$SimpleEventHandler
dup
invokespecial org.apache.cassandra.transport.SimpleClient$SimpleEventHandler.<init>:()V
putfield org.apache.cassandra.transport.Client.eventHandler:Lorg/apache/cassandra/transport/SimpleClient$SimpleEventHandler;
2: aload 0
aload 0
getfield org.apache.cassandra.transport.Client.eventHandler:Lorg/apache/cassandra/transport/SimpleClient$SimpleEventHandler;
invokevirtual org.apache.cassandra.transport.Client.setEventHandler:(Lorg/apache/cassandra/transport/SimpleClient$EventHandler;)V
3: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/cassandra/transport/Client;
0 4 1 host Ljava/lang/String;
0 4 2 port I
0 4 3 version Lorg/apache/cassandra/transport/ProtocolVersion;
0 4 4 encryptionOptions Lorg/apache/cassandra/config/EncryptionOptions$ClientEncryptionOptions;
MethodParameters:
Name Flags
host
port
version
encryptionOptions
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Connecting..."
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
1: aload 0
invokevirtual org.apache.cassandra.transport.Client.establishConnection:()V
2: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
3: new java.io.BufferedReader
dup
new java.io.InputStreamReader
dup
getstatic java.lang.System.in:Ljava/io/InputStream;
invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 1
start local 1 4: goto 6
start local 2 5: StackMap locals: java.io.BufferedReader org.apache.cassandra.transport.Event
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "<< "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.transport.Client.eventHandler:Lorg/apache/cassandra/transport/SimpleClient$SimpleEventHandler;
getfield org.apache.cassandra.transport.SimpleClient$SimpleEventHandler.queue:Ljava/util/concurrent/LinkedBlockingQueue;
invokevirtual java.util.concurrent.LinkedBlockingQueue.poll:()Ljava/lang/Object;
checkcast org.apache.cassandra.transport.Event
dup
astore 2
start local 2 7: ifnonnull 5
8: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc ">> "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.flush:()V
10: aload 1
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
astore 3
start local 3 11: aload 3
ifnonnull 13
12: goto 24
13: StackMap locals: org.apache.cassandra.transport.Event java.lang.String
StackMap stack:
aload 0
aload 3
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual org.apache.cassandra.transport.Client.parseLine:(Ljava/lang/String;)Lorg/apache/cassandra/transport/Message$Request;
astore 4
start local 4 14: aload 4
ifnonnull 17
15: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "! Error parsing line."
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
16: goto 23
17: StackMap locals: org.apache.cassandra.transport.Message$Request
StackMap stack:
aload 0
aload 4
invokevirtual org.apache.cassandra.transport.Client.execute:(Lorg/apache/cassandra/transport/Message$Request;)Lorg/apache/cassandra/transport/Message$Response;
astore 5
start local 5 18: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "-> "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 19: goto 23
20: StackMap locals:
StackMap stack: java.lang.Exception
astore 5
start local 5 21: aload 5
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
22: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 5 end local 4 end local 3 end local 2 23: StackMap locals:
StackMap stack:
goto 6
24: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.apache.cassandra.transport.Client.close:()V
25: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/apache/cassandra/transport/Client;
4 26 1 in Ljava/io/BufferedReader;
5 6 2 event Lorg/apache/cassandra/transport/Event;
7 23 2 event Lorg/apache/cassandra/transport/Event;
11 23 3 line Ljava/lang/String;
14 23 4 req Lorg/apache/cassandra/transport/Message$Request;
18 19 5 resp Lorg/apache/cassandra/transport/Message$Response;
21 23 5 e Ljava/lang/Exception;
Exception table:
from to target type
17 19 20 Class java.lang.Exception
Exceptions:
throws java.io.IOException
private org.apache.cassandra.transport.Message$Request parseLine(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/apache/cassandra/transport/Message$Request;
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=10, args_size=2
start local 0 start local 1 0: bipush 32
invokestatic com.google.common.base.Splitter.on:(C)Lcom/google/common/base/Splitter;
invokevirtual com.google.common.base.Splitter.trimResults:()Lcom/google/common/base/Splitter;
invokevirtual com.google.common.base.Splitter.omitEmptyStrings:()Lcom/google/common/base/Splitter;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual com.google.common.base.Splitter.split:(Ljava/lang/CharSequence;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
3: aconst_null
areturn
4: StackMap locals: com.google.common.base.Splitter java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 4
start local 4 5: aload 4
ldc "STARTUP"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
6: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 5
start local 5 7: aload 5
ldc "CQL_VERSION"
ldc "3.0.0"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: goto 13
9: StackMap locals: java.lang.String java.util.Map
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 10: aload 6
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "snappy"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: aload 5
ldc "COMPRESSION"
ldc "snappy"
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: aload 0
getfield org.apache.cassandra.transport.Client.connection:Lorg/apache/cassandra/transport/Connection;
getstatic org.apache.cassandra.transport.FrameCompressor$SnappyCompressor.instance:Lorg/apache/cassandra/transport/FrameCompressor$SnappyCompressor;
invokevirtual org.apache.cassandra.transport.Connection.setCompressor:(Lorg/apache/cassandra/transport/FrameCompressor;)V
end local 6 13: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
14: new org.apache.cassandra.transport.messages.StartupMessage
dup
aload 5
invokespecial org.apache.cassandra.transport.messages.StartupMessage.<init>:(Ljava/util/Map;)V
areturn
end local 5 15: StackMap locals:
StackMap stack:
aload 4
ldc "QUERY"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
16: aload 1
bipush 6
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
17: aload 1
astore 5
start local 5 18: iconst_m1
istore 6
start local 6 19: aload 1
ldc ".+ !\\d+$"
invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
ifeq 26
20: aload 1
bipush 33
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 7
start local 7 21: aload 1
iconst_0
iload 7
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
22: aload 1
iload 7
iconst_1
iadd
aload 1
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 6
23: goto 26
24: StackMap locals: org.apache.cassandra.transport.Client java.lang.String com.google.common.base.Splitter java.util.Iterator java.lang.String java.lang.String int int
StackMap stack: java.lang.NumberFormatException
pop
25: aconst_null
areturn
end local 7 26: StackMap locals:
StackMap stack:
new org.apache.cassandra.transport.messages.QueryMessage
dup
aload 5
getstatic org.apache.cassandra.db.ConsistencyLevel.ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
iconst_0
iload 6
aconst_null
aconst_null
aload 0
getfield org.apache.cassandra.transport.Client.version:Lorg/apache/cassandra/transport/ProtocolVersion;
invokestatic org.apache.cassandra.cql3.QueryOptions.create:(Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/util/List;ZILorg/apache/cassandra/service/pager/PagingState;Lorg/apache/cassandra/db/ConsistencyLevel;Lorg/apache/cassandra/transport/ProtocolVersion;)Lorg/apache/cassandra/cql3/QueryOptions;
invokespecial org.apache.cassandra.transport.messages.QueryMessage.<init>:(Ljava/lang/String;Lorg/apache/cassandra/cql3/QueryOptions;)V
areturn
end local 6 end local 5 27: StackMap locals:
StackMap stack:
aload 4
ldc "PREPARE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 30
28: aload 1
bipush 8
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 5
start local 5 29: new org.apache.cassandra.transport.messages.PrepareMessage
dup
aload 5
invokespecial org.apache.cassandra.transport.messages.PrepareMessage.<init>:(Ljava/lang/String;)V
areturn
end local 5 30: StackMap locals:
StackMap stack:
aload 4
ldc "EXECUTE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
31: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic org.apache.cassandra.utils.Hex.hexToBytes:(Ljava/lang/String;)[B
astore 5
start local 5 32: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 33: goto 41
34: StackMap locals: byte[] java.util.List
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 7
start local 7 35: aload 7
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 9
start local 9 36: getstatic org.apache.cassandra.db.marshal.Int32Type.instance:Lorg/apache/cassandra/db/marshal/Int32Type;
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.apache.cassandra.db.marshal.Int32Type.decompose:(Ljava/lang/Object;)Ljava/nio/ByteBuffer;
astore 8
end local 9 start local 8 37: goto 40
end local 8 38: StackMap locals: org.apache.cassandra.transport.Client java.lang.String com.google.common.base.Splitter java.util.Iterator java.lang.String byte[] java.util.List java.lang.String
StackMap stack: java.lang.NumberFormatException
pop
39: getstatic org.apache.cassandra.db.marshal.UTF8Type.instance:Lorg/apache/cassandra/db/marshal/UTF8Type;
aload 7
invokevirtual org.apache.cassandra.db.marshal.UTF8Type.decompose:(Ljava/lang/Object;)Ljava/nio/ByteBuffer;
astore 8
start local 8 40: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 6
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 8 end local 7 41: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
42: new org.apache.cassandra.transport.messages.ExecuteMessage
dup
aload 5
invokestatic org.apache.cassandra.utils.MD5Digest.wrap:([B)Lorg/apache/cassandra/utils/MD5Digest;
getstatic org.apache.cassandra.db.ConsistencyLevel.ONE:Lorg/apache/cassandra/db/ConsistencyLevel;
aload 6
invokestatic org.apache.cassandra.cql3.QueryOptions.forInternalCalls:(Lorg/apache/cassandra/db/ConsistencyLevel;Ljava/util/List;)Lorg/apache/cassandra/cql3/QueryOptions;
invokespecial org.apache.cassandra.transport.messages.ExecuteMessage.<init>:(Lorg/apache/cassandra/utils/MD5Digest;Lorg/apache/cassandra/cql3/QueryOptions;)V
43: areturn
end local 6 end local 5 44: StackMap locals: org.apache.cassandra.transport.Client java.lang.String com.google.common.base.Splitter java.util.Iterator java.lang.String
StackMap stack: java.lang.Exception
pop
45: aconst_null
areturn
46: StackMap locals:
StackMap stack:
aload 4
ldc "OPTIONS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 48
47: new org.apache.cassandra.transport.messages.OptionsMessage
dup
invokespecial org.apache.cassandra.transport.messages.OptionsMessage.<init>:()V
areturn
48: StackMap locals:
StackMap stack:
aload 4
ldc "CREDENTIALS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 53
49: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "[WARN] CREDENTIALS command is deprecated, use AUTHENTICATE instead"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
50: new org.apache.cassandra.transport.messages.CredentialsMessage
dup
invokespecial org.apache.cassandra.transport.messages.CredentialsMessage.<init>:()V
astore 5
start local 5 51: aload 5
getfield org.apache.cassandra.transport.messages.CredentialsMessage.credentials:Ljava/util/Map;
aload 0
aload 3
invokevirtual org.apache.cassandra.transport.Client.readCredentials:(Ljava/util/Iterator;)Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
52: aload 5
areturn
end local 5 53: StackMap locals:
StackMap stack:
aload 4
ldc "AUTHENTICATE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 59
54: aload 0
aload 3
invokevirtual org.apache.cassandra.transport.Client.readCredentials:(Ljava/util/Iterator;)Ljava/util/Map;
astore 5
start local 5 55: aload 5
ldc "username"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 56
aload 5
ldc "password"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 58
56: StackMap locals: java.util.Map
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "[ERROR] Authentication requires both 'username' and 'password'"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
57: aconst_null
areturn
58: StackMap locals:
StackMap stack:
new org.apache.cassandra.transport.messages.AuthResponse
dup
aload 0
aload 5
invokevirtual org.apache.cassandra.transport.Client.encodeCredentialsForSasl:(Ljava/util/Map;)[B
invokespecial org.apache.cassandra.transport.messages.AuthResponse.<init>:([B)V
areturn
end local 5 59: StackMap locals:
StackMap stack:
aload 4
ldc "REGISTER"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 66
60: aload 1
bipush 9
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
astore 5
start local 5 61: new org.apache.cassandra.transport.messages.RegisterMessage
dup
ldc Lorg/apache/cassandra/transport/Event$Type;
aload 5
invokestatic java.lang.Enum.valueOf:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
checkcast org.apache.cassandra.transport.Event$Type
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
invokespecial org.apache.cassandra.transport.messages.RegisterMessage.<init>:(Ljava/util/List;)V
62: areturn
63: StackMap locals: org.apache.cassandra.transport.Client java.lang.String com.google.common.base.Splitter java.util.Iterator java.lang.String java.lang.String
StackMap stack: java.lang.IllegalArgumentException
pop
64: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "[ERROR] Unknown event type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
65: aconst_null
areturn
end local 5 66: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lorg/apache/cassandra/transport/Client;
0 67 1 line Ljava/lang/String;
1 67 2 splitter Lcom/google/common/base/Splitter;
2 67 3 iter Ljava/util/Iterator<Ljava/lang/String;>;
5 67 4 msgType Ljava/lang/String;
7 15 5 options Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
10 13 6 next Ljava/lang/String;
18 27 5 query Ljava/lang/String;
19 27 6 pageSize I
21 26 7 idx I
29 30 5 query Ljava/lang/String;
32 44 5 id [B
33 44 6 values Ljava/util/List<Ljava/nio/ByteBuffer;>;
35 41 7 next Ljava/lang/String;
37 38 8 bb Ljava/nio/ByteBuffer;
40 41 8 bb Ljava/nio/ByteBuffer;
36 37 9 v I
51 53 5 msg Lorg/apache/cassandra/transport/messages/CredentialsMessage;
55 59 5 credentials Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
61 66 5 type Ljava/lang/String;
Exception table:
from to target type
22 23 24 Class java.lang.NumberFormatException
35 37 38 Class java.lang.NumberFormatException
31 43 44 Class java.lang.Exception
61 62 63 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
line
private java.util.Map<java.lang.String, java.lang.String> readCredentials(java.util.Iterator<java.lang.String>);
descriptor: (Ljava/util/Iterator;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: goto 8
2: StackMap locals: java.util.Map
StackMap stack:
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 3: aload 3
ldc "="
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 4
start local 4 4: aload 4
arraylength
iconst_2
if_icmpeq 7
5: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "[ERROR] Default authentication requires username & password"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
6: aconst_null
areturn
7: StackMap locals: java.lang.String java.lang.String[]
StackMap stack:
aload 2
aload 4
iconst_0
aaload
aload 4
iconst_1
aaload
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 3 8: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/transport/Client;
0 10 1 iter Ljava/util/Iterator<Ljava/lang/String;>;
1 10 2 credentials Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
3 8 3 next Ljava/lang/String;
4 8 4 kv [Ljava/lang/String;
Signature: (Ljava/util/Iterator<Ljava/lang/String;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
MethodParameters:
Name Flags
iter
private byte[] encodeCredentialsForSasl(java.util.Map<java.lang.String, java.lang.String>);
descriptor: (Ljava/util/Map;)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ldc "username"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 2
start local 2 1: aload 1
ldc "password"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 3
start local 3 2: aload 2
arraylength
aload 3
arraylength
iadd
iconst_2
iadd
newarray 8
astore 4
start local 4 3: aload 4
iconst_0
iconst_0
bastore
4: aload 2
iconst_0
aload 4
iconst_1
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
5: aload 4
aload 2
arraylength
iconst_1
iadd
iconst_0
bastore
6: aload 3
iconst_0
aload 4
aload 2
arraylength
iconst_2
iadd
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/transport/Client;
0 8 1 credentials Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
1 8 2 username [B
2 8 3 password [B
3 8 4 initialResponse [B
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;)[B
MethodParameters:
Name Flags
credentials
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=1
start local 0 0: invokestatic org.apache.cassandra.config.DatabaseDescriptor.clientInitialization:()V
1: aload 0
arraylength
iconst_2
if_icmplt 2
aload 0
arraylength
iconst_3
if_icmple 4
2: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Usage: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lorg/apache/cassandra/transport/Client;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " <host> <port> [<version>]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: return
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
aaload
astore 1
start local 1 5: aload 0
iconst_1
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 2
start local 2 6: aload 0
arraylength
iconst_3
if_icmpne 7
aload 0
iconst_2
aaload
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
getstatic org.apache.cassandra.transport.ProtocolVersionLimit.SERVER_DEFAULT:Lorg/apache/cassandra/transport/ProtocolVersionLimit;
invokestatic org.apache.cassandra.transport.ProtocolVersion.decode:(ILorg/apache/cassandra/transport/ProtocolVersionLimit;)Lorg/apache/cassandra/transport/ProtocolVersion;
goto 8
StackMap locals: java.lang.String int
StackMap stack:
7: getstatic org.apache.cassandra.transport.ProtocolVersion.CURRENT:Lorg/apache/cassandra/transport/ProtocolVersion;
StackMap locals:
StackMap stack: org.apache.cassandra.transport.ProtocolVersion
8: astore 3
start local 3 9: new org.apache.cassandra.config.EncryptionOptions$ClientEncryptionOptions
dup
invokespecial org.apache.cassandra.config.EncryptionOptions$ClientEncryptionOptions.<init>:()V
astore 4
start local 4 10: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "CQL binary protocol console "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "@"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " using native protocol version "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: new org.apache.cassandra.transport.Client
dup
aload 1
iload 2
aload 3
aload 4
invokespecial org.apache.cassandra.transport.Client.<init>:(Ljava/lang/String;ILorg/apache/cassandra/transport/ProtocolVersion;Lorg/apache/cassandra/config/EncryptionOptions$ClientEncryptionOptions;)V
invokevirtual org.apache.cassandra.transport.Client.run:()V
12: iconst_0
invokestatic java.lang.System.exit:(I)V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 args [Ljava/lang/String;
5 14 1 host Ljava/lang/String;
6 14 2 port I
9 14 3 version Lorg/apache/cassandra/transport/ProtocolVersion;
10 14 4 encryptionOptions Lorg/apache/cassandra/config/EncryptionOptions$ClientEncryptionOptions;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
}
SourceFile: "Client.java"
InnerClasses:
public ClientEncryptionOptions = org.apache.cassandra.config.EncryptionOptions$ClientEncryptionOptions of org.apache.cassandra.config.EncryptionOptions
public final Type = org.apache.cassandra.transport.Event$Type of org.apache.cassandra.transport.Event
public SnappyCompressor = org.apache.cassandra.transport.FrameCompressor$SnappyCompressor of org.apache.cassandra.transport.FrameCompressor
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 abstract EventHandler = org.apache.cassandra.transport.SimpleClient$EventHandler of org.apache.cassandra.transport.SimpleClient
public SimpleEventHandler = org.apache.cassandra.transport.SimpleClient$SimpleEventHandler of org.apache.cassandra.transport.SimpleClient