public class io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl implements io.vertx.ext.stomp.StompServerConnection
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl
super_class: java.lang.Object
{
private static final io.vertx.core.logging.Logger log;
descriptor: Lio/vertx/core/logging/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final io.vertx.ext.stomp.StompServer server;
descriptor: Lio/vertx/ext/stomp/StompServer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.vertx.core.net.NetSocket socket;
descriptor: Lio/vertx/core/net/NetSocket;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String sessionId;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected final io.vertx.core.Handler<io.vertx.ext.stomp.ServerFrame> handler;
descriptor: Lio/vertx/core/Handler;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Signature: Lio/vertx/core/Handler<Lio/vertx/ext/stomp/ServerFrame;>;
private volatile long lastClientActivity;
descriptor: J
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private long pinger;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private long ponger;
descriptor: J
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
putstatic io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.log:Lio/vertx/core/logging/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(io.vertx.core.net.NetSocket, io.vertx.ext.stomp.StompServer, io.vertx.core.Handler<io.vertx.ext.stomp.ServerFrame>);
descriptor: (Lio/vertx/core/net/NetSocket;Lio/vertx/ext/stomp/StompServer;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.pinger:J
2: aload 0
ldc -1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.ponger:J
3: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 2
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
5: aload 0
aload 1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
6: aload 0
aload 2
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
7: aload 0
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.sessionId:Ljava/lang/String;
8: aload 0
aload 3
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.handler:Lio/vertx/core/Handler;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
0 10 1 socket Lio/vertx/core/net/NetSocket;
0 10 2 server Lio/vertx/ext/stomp/StompServer;
0 10 3 writingFrameHandler Lio/vertx/core/Handler<Lio/vertx/ext/stomp/ServerFrame;>;
Signature: (Lio/vertx/core/net/NetSocket;Lio/vertx/ext/stomp/StompServer;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/ServerFrame;>;)V
MethodParameters:
Name Flags
socket
server
writingFrameHandler
public void <init>(io.vertx.ext.stomp.StompServer, io.vertx.core.Handler<io.vertx.ext.stomp.ServerFrame>);
descriptor: (Lio/vertx/ext/stomp/StompServer;Lio/vertx/core/Handler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.pinger:J
2: aload 0
ldc -1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.ponger:J
3: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 0
aconst_null
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
5: aload 0
aload 1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
6: aload 0
aload 2
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.handler:Lio/vertx/core/Handler;
7: aload 0
invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
invokevirtual java.util.UUID.toString:()Ljava/lang/String;
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.sessionId:Ljava/lang/String;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
0 9 1 server Lio/vertx/ext/stomp/StompServer;
0 9 2 writingFrameHandler Lio/vertx/core/Handler<Lio/vertx/ext/stomp/ServerFrame;>;
Signature: (Lio/vertx/ext/stomp/StompServer;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/ServerFrame;>;)V
MethodParameters:
Name Flags
server
writingFrameHandler
public io.vertx.ext.stomp.StompServerConnection write(io.vertx.ext.stomp.Frame);
descriptor: (Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.handler:Lio/vertx/core/Handler;
ifnull 2
1: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.handler:Lio/vertx/core/Handler;
new io.vertx.ext.stomp.impl.ServerFrameImpl
dup
aload 1
aload 0
invokespecial io.vertx.ext.stomp.impl.ServerFrameImpl.<init>:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
invokeinterface io.vertx.ext.stomp.StompServer.options:()Lio/vertx/ext/stomp/StompServerOptions;
invokevirtual io.vertx.ext.stomp.StompServerOptions.isTrailingLine:()Z
invokevirtual io.vertx.ext.stomp.Frame.toBuffer:(Z)Lio/vertx/core/buffer/Buffer;
invokevirtual io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/ext/stomp/StompServerConnection;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
0 3 1 frame Lio/vertx/ext/stomp/Frame;
MethodParameters:
Name Flags
frame
public io.vertx.ext.stomp.StompServerConnection write(io.vertx.core.buffer.Buffer);
descriptor: (Lio/vertx/core/buffer/Buffer;)Lio/vertx/ext/stomp/StompServerConnection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
aload 1
invokeinterface io.vertx.core.net.NetSocket.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/net/NetSocket;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
0 2 1 buffer Lio/vertx/core/buffer/Buffer;
MethodParameters:
Name Flags
buffer
public io.vertx.ext.stomp.StompServer server();
descriptor: ()Lio/vertx/ext/stomp/StompServer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
public io.vertx.ext.stomp.StompServerHandler handler();
descriptor: ()Lio/vertx/ext/stomp/StompServerHandler;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
invokeinterface io.vertx.ext.stomp.StompServer.stompHandler:()Lio/vertx/ext/stomp/StompServerHandler;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
public java.lang.String session();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.sessionId:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.cancelHeartbeat:()V
1: aload 0
invokevirtual io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.handler:()Lio/vertx/ext/stomp/StompServerHandler;
aload 0
invokeinterface io.vertx.ext.stomp.StompServerHandler.onClose:(Lio/vertx/ext/stomp/StompServerConnection;)V
2: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
invokeinterface io.vertx.core.net.NetSocket.close:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
public void ping();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.handler:Lio/vertx/core/Handler;
ifnull 2
1: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.handler:Lio/vertx/core/Handler;
new io.vertx.ext.stomp.impl.ServerFrameImpl
dup
getstatic io.vertx.ext.stomp.Frames.PING:Lio/vertx/ext/stomp/Frame;
aload 0
invokespecial io.vertx.ext.stomp.impl.ServerFrameImpl.<init>:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.socket:Lio/vertx/core/net/NetSocket;
ldc "\n"
invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
invokeinterface io.vertx.core.net.NetSocket.write:(Lio/vertx/core/buffer/Buffer;)Lio/vertx/core/net/NetSocket;
pop
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
public synchronized void cancelHeartbeat();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.pinger:J
lconst_0
lcmp
iflt 3
1: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
invokeinterface io.vertx.ext.stomp.StompServer.vertx:()Lio/vertx/core/Vertx;
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.pinger:J
invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
pop
2: aload 0
ldc -1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.pinger:J
3: StackMap locals:
StackMap stack:
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.ponger:J
lconst_0
lcmp
iflt 6
4: aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
invokeinterface io.vertx.ext.stomp.StompServer.vertx:()Lio/vertx/core/Vertx;
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.ponger:J
invokeinterface io.vertx.core.Vertx.cancelTimer:(J)Z
pop
5: aload 0
ldc -1
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.ponger:J
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
public void onServerActivity();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic java.lang.System.nanoTime:()J
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.lastClientActivity:J
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
public synchronized void configureHeartbeat(long, long, io.vertx.core.Handler<io.vertx.ext.stomp.StompServerConnection>);
descriptor: (JJLio/vertx/core/Handler;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: lload 1
lconst_0
lcmp
ifle 2
1: aload 0
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
invokeinterface io.vertx.ext.stomp.StompServer.vertx:()Lio/vertx/core/Vertx;
lload 1
aload 0
aload 5
invokedynamic handle(Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/stomp/impl/StompServerTCPConnectionImpl.lambda$0(Lio/vertx/core/Handler;Ljava/lang/Long;)V (7)
(Ljava/lang/Long;)V
invokeinterface io.vertx.core.Vertx.setPeriodic:(JLio/vertx/core/Handler;)J
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.pinger:J
2: StackMap locals:
StackMap stack:
lload 3
lconst_0
lcmp
ifle 4
3: aload 0
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.server:Lio/vertx/ext/stomp/StompServer;
invokeinterface io.vertx.ext.stomp.StompServer.vertx:()Lio/vertx/core/Vertx;
lload 3
aload 0
lload 3
invokedynamic handle(Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;J)Lio/vertx/core/Handler;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
io/vertx/ext/stomp/impl/StompServerTCPConnectionImpl.lambda$1(JLjava/lang/Long;)V (7)
(Ljava/lang/Long;)V
invokeinterface io.vertx.core.Vertx.setPeriodic:(JLio/vertx/core/Handler;)J
putfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.ponger:J
4: StackMap locals:
StackMap stack:
return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
0 5 1 ping J
0 5 3 pong J
0 5 5 pingHandler Lio/vertx/core/Handler<Lio/vertx/ext/stomp/StompServerConnection;>;
Signature: (JJLio/vertx/core/Handler<Lio/vertx/ext/stomp/StompServerConnection;>;)V
MethodParameters:
Name Flags
ping
pong
pingHandler
private void lambda$0(io.vertx.core.Handler, java.lang.Long);
descriptor: (Lio/vertx/core/Handler;Ljava/lang/Long;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 1
aload 0
invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
0 1 2 l Ljava/lang/Long;
private void lambda$1(long, java.lang.Long);
descriptor: (JLjava/lang/Long;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 3 0: invokestatic java.lang.System.nanoTime:()J
aload 0
getfield io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.lastClientActivity:J
lsub
lstore 4
start local 4 1: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
lload 4
getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
lstore 6
start local 6 2: lload 6
lload 1
ldc 2
lmul
lcmp
ifle 5
3: getstatic io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.log:Lio/vertx/core/logging/Logger;
new java.lang.StringBuilder
dup
ldc "Disconnecting client "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " - no client activity in the last "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual io.vertx.core.logging.Logger.warn:(Ljava/lang/Object;)V
4: aload 0
invokevirtual io.vertx.ext.stomp.impl.StompServerTCPConnectionImpl.close:()V
end local 6 end local 4 5: StackMap locals:
StackMap stack:
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/vertx/ext/stomp/impl/StompServerTCPConnectionImpl;
0 6 3 l Ljava/lang/Long;
1 5 4 delta J
2 5 6 deltaInMs J
}
SourceFile: "StompServerTCPConnectionImpl.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles