public class org.apache.cassandra.net.IncomingStreamingConnection extends java.lang.Thread implements java.io.Closeable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.net.IncomingStreamingConnection
super_class: java.lang.Thread
{
private static final org.slf4j.Logger logger;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final int version;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public final java.net.Socket socket;
descriptor: Ljava/net/Socket;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
private final java.util.Set<java.io.Closeable> group;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljava/io/Closeable;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/net/IncomingStreamingConnection;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
putstatic org.apache.cassandra.net.IncomingStreamingConnection.logger:Lorg/slf4j/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(int, java.net.Socket, java.util.Set<java.io.Closeable>);
descriptor: (ILjava/net/Socket;Ljava/util/Set;)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
new java.lang.StringBuilder
dup
ldc "STREAM-INIT-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.net.Socket.getRemoteSocketAddress:()Ljava/net/SocketAddress;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.Thread.<init>:(Ljava/lang/String;)V
1: aload 0
iload 1
putfield org.apache.cassandra.net.IncomingStreamingConnection.version:I
2: aload 0
aload 2
putfield org.apache.cassandra.net.IncomingStreamingConnection.socket:Ljava/net/Socket;
3: aload 0
aload 3
putfield org.apache.cassandra.net.IncomingStreamingConnection.group:Ljava/util/Set;
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/net/IncomingStreamingConnection;
0 5 1 version I
0 5 2 socket Ljava/net/Socket;
0 5 3 group Ljava/util/Set<Ljava/io/Closeable;>;
Signature: (ILjava/net/Socket;Ljava/util/Set<Ljava/io/Closeable;>;)V
MethodParameters:
Name Flags
version
socket
group
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.version:I
iconst_4
if_icmpeq 2
1: new java.io.IOException
dup
ldc "Received stream using protocol version %d (my version %d). Terminating connection"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.version:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
iconst_4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus
dup
aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
invokespecial org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus.<init>:(Ljava/io/InputStream;)V
astore 1
start local 1 3: getstatic org.apache.cassandra.streaming.messages.StreamInitMessage.serializer:Lorg/apache/cassandra/io/IVersionedSerializer;
aload 1
aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.version:I
invokeinterface org.apache.cassandra.io.IVersionedSerializer.deserialize:(Lorg/apache/cassandra/io/util/DataInputPlus;I)Ljava/lang/Object;
checkcast org.apache.cassandra.streaming.messages.StreamInitMessage
astore 2
start local 2 4: aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.isForOutgoing:Z
ifne 6
5: aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.socket:Ljava/net/Socket;
invokestatic org.apache.cassandra.config.DatabaseDescriptor.getStreamingSocketTimeout:()I
invokevirtual java.net.Socket.setSoTimeout:(I)V
6: StackMap locals: org.apache.cassandra.io.util.DataInputPlus org.apache.cassandra.streaming.messages.StreamInitMessage
StackMap stack:
aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.sessionIndex:I
aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.planId:Ljava/util/UUID;
aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.description:Ljava/lang/String;
aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.from:Ljava/net/InetAddress;
aload 0
aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.isForOutgoing:Z
aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.version:I
aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.keepSSTableLevel:Z
aload 2
getfield org.apache.cassandra.streaming.messages.StreamInitMessage.isIncremental:Z
invokestatic org.apache.cassandra.streaming.StreamResultFuture.initReceivingSide:(ILjava/util/UUID;Ljava/lang/String;Ljava/net/InetAddress;Lorg/apache/cassandra/net/IncomingStreamingConnection;ZIZZ)Lorg/apache/cassandra/streaming/StreamResultFuture;
pop
end local 2 end local 1 7: goto 11
8: StackMap locals: org.apache.cassandra.net.IncomingStreamingConnection
StackMap stack: java.lang.Throwable
astore 1
start local 1 9: getstatic org.apache.cassandra.net.IncomingStreamingConnection.logger:Lorg/slf4j/Logger;
ldc "Error while reading from socket from {}."
aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getRemoteSocketAddress:()Ljava/net/SocketAddress;
aload 1
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 0
invokevirtual org.apache.cassandra.net.IncomingStreamingConnection.close:()V
end local 1 11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/cassandra/net/IncomingStreamingConnection;
3 7 1 input Lorg/apache/cassandra/io/util/DataInputPlus;
4 7 2 init Lorg/apache/cassandra/streaming/messages/StreamInitMessage;
9 11 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 7 8 Class java.lang.Throwable
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.isClosed:()Z
ifne 9
1: aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.close:()V
2: goto 9
3: StackMap locals:
StackMap stack: java.io.IOException
astore 1
start local 1 4: getstatic org.apache.cassandra.net.IncomingStreamingConnection.logger:Lorg/slf4j/Logger;
ldc "Error closing socket"
aload 1
invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 1 5: aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.group:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
goto 10
6: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
7: aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.group:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
8: aload 2
athrow
9: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.net.IncomingStreamingConnection.group:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
10: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/apache/cassandra/net/IncomingStreamingConnection;
4 5 1 e Ljava/io/IOException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
0 5 6 any
}
SourceFile: "IncomingStreamingConnection.java"
InnerClasses:
public DataInputStreamPlus = org.apache.cassandra.io.util.DataInputPlus$DataInputStreamPlus of org.apache.cassandra.io.util.DataInputPlus