public class io.vertx.ext.stomp.DefaultSendHandler implements io.vertx.core.Handler<io.vertx.ext.stomp.ServerFrame>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: io.vertx.ext.stomp.DefaultSendHandler
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // io.vertx.ext.stomp.DefaultSendHandler this
0: .line 40
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // io.vertx.ext.stomp.DefaultSendHandler this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/stomp/DefaultSendHandler;
public void handle(io.vertx.ext.stomp.ServerFrame);
descriptor: (Lio/vertx/ext/stomp/ServerFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 // io.vertx.ext.stomp.DefaultSendHandler this
start local 1 // io.vertx.ext.stomp.ServerFrame sf
0: .line 44
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
ldc "destination"
invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 2 /* destination */
start local 2 // java.lang.String destination
1: .line 45
aload 2 /* destination */
ifnonnull 8
2: .line 46
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
3: .line 47
ldc "Destination header missing"
4: .line 48
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
invokevirtual io.vertx.ext.stomp.Frame.getHeaders:()Ljava/util/Map;
invokestatic io.vertx.ext.stomp.utils.Headers.create:(Ljava/util/Map;)Lio/vertx/ext/stomp/utils/Headers;
ldc "Invalid send frame - the 'destination' must be set"
5: .line 46
invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
pop
6: .line 50
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
7: .line 51
return
8: .line 55
StackMap locals: java.lang.String
StackMap stack:
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
ldc "transaction"
invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 3 /* txId */
start local 3 // java.lang.String txId
9: .line 56
aload 3 /* txId */
ifnull 30
10: .line 57
invokestatic io.vertx.ext.stomp.impl.Transactions.instance:()Lio/vertx/ext/stomp/impl/Transactions;
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
aload 3 /* txId */
invokevirtual io.vertx.ext.stomp.impl.Transactions.getTransaction:(Lio/vertx/ext/stomp/StompServerConnection;Ljava/lang/String;)Lio/vertx/ext/stomp/impl/Transaction;
astore 4 /* transaction */
start local 4 // io.vertx.ext.stomp.impl.Transaction transaction
11: .line 58
aload 4 /* transaction */
ifnonnull 19
12: .line 61
ldc "No transaction"
iconst_4
anewarray java.lang.String
dup
iconst_0
13: .line 62
ldc "destination"
aastore
dup
iconst_1
aload 2 /* destination */
aastore
dup
iconst_2
ldc "transaction"
aastore
dup
iconst_3
aload 3 /* txId */
aastore
invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
14: .line 63
ldc "Message delivery failed - unknown transaction id"
15: .line 60
invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
astore 5 /* errorFrame */
start local 5 // io.vertx.ext.stomp.Frame errorFrame
16: .line 64
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
aload 5 /* errorFrame */
invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
pop
17: .line 65
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
18: .line 66
return
end local 5 // io.vertx.ext.stomp.Frame errorFrame
19: .line 68
StackMap locals: java.lang.String io.vertx.ext.stomp.impl.Transaction
StackMap stack:
aload 4 /* transaction */
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
invokevirtual io.vertx.ext.stomp.impl.Transaction.addFrameToTransaction:(Lio/vertx/ext/stomp/Frame;)Z
ifne 28
20: .line 70
ldc "Frame not added to transaction"
iconst_4
anewarray java.lang.String
dup
iconst_0
21: .line 71
ldc "destination"
aastore
dup
iconst_1
aload 2 /* destination */
aastore
dup
iconst_2
ldc "transaction"
aastore
dup
iconst_3
aload 3 /* txId */
aastore
invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
22: .line 72
ldc "Message delivery failed - the frame cannot be added to the transaction - the number of allowed thread may have been reached"
23: .line 70
invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
astore 5 /* errorFrame */
start local 5 // io.vertx.ext.stomp.Frame errorFrame
24: .line 74
invokestatic io.vertx.ext.stomp.impl.Transactions.instance:()Lio/vertx/ext/stomp/impl/Transactions;
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokevirtual io.vertx.ext.stomp.impl.Transactions.unregisterTransactionsFromConnection:(Lio/vertx/ext/stomp/StompServerConnection;)V
25: .line 75
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
aload 5 /* errorFrame */
invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
pop
26: .line 76
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
27: .line 77
return
end local 5 // io.vertx.ext.stomp.Frame errorFrame
28: .line 79
StackMap locals:
StackMap stack:
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokestatic io.vertx.ext.stomp.Frames.handleReceipt:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
29: .line 81
return
end local 4 // io.vertx.ext.stomp.impl.Transaction transaction
30: .line 85
StackMap locals:
StackMap stack:
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokeinterface io.vertx.ext.stomp.StompServerConnection.handler:()Lio/vertx/ext/stomp/StompServerHandler;
aload 2 /* destination */
invokeinterface io.vertx.ext.stomp.StompServerHandler.getDestination:(Ljava/lang/String;)Lio/vertx/ext/stomp/Destination;
astore 4 /* dest */
start local 4 // io.vertx.ext.stomp.Destination dest
31: .line 86
aload 4 /* dest */
ifnonnull 39
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokeinterface io.vertx.ext.stomp.StompServerConnection.server:()Lio/vertx/ext/stomp/StompServer;
invokeinterface io.vertx.ext.stomp.StompServer.options:()Lio/vertx/ext/stomp/StompServerOptions;
invokevirtual io.vertx.ext.stomp.StompServerOptions.isSendErrorOnNoSubscriptions:()Z
ifeq 39
32: .line 88
ldc "No subscriptions"
iconst_2
anewarray java.lang.String
dup
iconst_0
33: .line 89
ldc "destination"
aastore
dup
iconst_1
aload 2 /* destination */
aastore
invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
34: .line 90
ldc "Message delivery failed - no subscriptions on this destination"
35: .line 87
invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
astore 5 /* errorFrame */
start local 5 // io.vertx.ext.stomp.Frame errorFrame
36: .line 91
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
aload 5 /* errorFrame */
invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
pop
37: .line 92
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
38: .line 93
return
end local 5 // io.vertx.ext.stomp.Frame errorFrame
39: .line 96
StackMap locals: io.vertx.ext.stomp.Destination
StackMap stack:
aload 4 /* dest */
ifnull 42
40: .line 97
aload 4 /* dest */
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
invokeinterface io.vertx.ext.stomp.Destination.dispatch:(Lio/vertx/ext/stomp/StompServerConnection;Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/Destination;
ifnonnull 42
41: .line 99
return
42: .line 103
StackMap locals:
StackMap stack:
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
aload 1 /* sf */
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
invokestatic io.vertx.ext.stomp.Frames.handleReceipt:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
43: .line 104
return
end local 4 // io.vertx.ext.stomp.Destination dest
end local 3 // java.lang.String txId
end local 2 // java.lang.String destination
end local 1 // io.vertx.ext.stomp.ServerFrame sf
end local 0 // io.vertx.ext.stomp.DefaultSendHandler this
LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lio/vertx/ext/stomp/DefaultSendHandler;
0 44 1 sf Lio/vertx/ext/stomp/ServerFrame;
1 44 2 destination Ljava/lang/String;
9 44 3 txId Ljava/lang/String;
11 30 4 transaction Lio/vertx/ext/stomp/impl/Transaction;
16 19 5 errorFrame Lio/vertx/ext/stomp/Frame;
24 28 5 errorFrame Lio/vertx/ext/stomp/Frame;
31 44 4 dest Lio/vertx/ext/stomp/Destination;
36 39 5 errorFrame Lio/vertx/ext/stomp/Frame;
MethodParameters:
Name Flags
sf
public void handle(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: .line 1
aload 0
aload 1
checkcast io.vertx.ext.stomp.ServerFrame
invokevirtual io.vertx.ext.stomp.DefaultSendHandler.handle:(Lio/vertx/ext/stomp/ServerFrame;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Lio/vertx/core/Handler<Lio/vertx/ext/stomp/ServerFrame;>;
SourceFile: "DefaultSendHandler.java"