public class io.vertx.ext.stomp.DefaultAckHandler 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.DefaultAckHandler
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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/vertx/ext/stomp/DefaultAckHandler;
public void handle(io.vertx.ext.stomp.ServerFrame);
descriptor: (Lio/vertx/ext/stomp/ServerFrame;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface io.vertx.ext.stomp.ServerFrame.frame:()Lio/vertx/ext/stomp/Frame;
astore 2
start local 2 1: aload 1
invokeinterface io.vertx.ext.stomp.ServerFrame.connection:()Lio/vertx/ext/stomp/StompServerConnection;
astore 3
start local 3 2: aload 2
invokevirtual io.vertx.ext.stomp.Frame.getId:()Ljava/lang/String;
astore 4
start local 4 3: aload 4
ifnonnull 10
4: aload 3
5: ldc "Id header missing"
6: aload 2
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 ACK frame - the 'id' must be set"
7: 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
8: aload 3
invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
9: return
10: StackMap locals: io.vertx.ext.stomp.Frame io.vertx.ext.stomp.StompServerConnection java.lang.String
StackMap stack:
aload 2
ldc "transaction"
invokevirtual io.vertx.ext.stomp.Frame.getHeader:(Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 11: aload 5
ifnull 32
12: invokestatic io.vertx.ext.stomp.impl.Transactions.instance:()Lio/vertx/ext/stomp/impl/Transactions;
aload 3
aload 5
invokevirtual io.vertx.ext.stomp.impl.Transactions.getTransaction:(Lio/vertx/ext/stomp/StompServerConnection;Ljava/lang/String;)Lio/vertx/ext/stomp/impl/Transaction;
astore 6
start local 6 13: aload 6
ifnonnull 21
14: ldc "No transaction"
iconst_4
anewarray java.lang.String
dup
iconst_0
15: ldc "id"
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
ldc "transaction"
aastore
dup
iconst_3
aload 5
aastore
invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
16: ldc "Message delivery failed - unknown transaction id in ACK message"
17: invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
astore 7
start local 7 18: aload 3
aload 7
invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
pop
19: aload 3
invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
20: return
end local 7 21: StackMap locals: java.lang.String io.vertx.ext.stomp.impl.Transaction
StackMap stack:
aload 6
aload 2
invokevirtual io.vertx.ext.stomp.impl.Transaction.addFrameToTransaction:(Lio/vertx/ext/stomp/Frame;)Z
ifne 30
22: ldc "Frame not added to transaction"
iconst_4
anewarray java.lang.String
dup
iconst_0
23: ldc "id"
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
ldc "transaction"
aastore
dup
iconst_3
aload 5
aastore
invokestatic io.vertx.ext.stomp.utils.Headers.create:([Ljava/lang/String;)Lio/vertx/ext/stomp/utils/Headers;
24: ldc "Message delivery failed - the frame cannot be added to the transaction - the number of allowed thread may have been reached"
25: invokestatic io.vertx.ext.stomp.Frames.createErrorFrame:(Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;)Lio/vertx/ext/stomp/Frame;
astore 7
start local 7 26: invokestatic io.vertx.ext.stomp.impl.Transactions.instance:()Lio/vertx/ext/stomp/impl/Transactions;
aload 3
invokevirtual io.vertx.ext.stomp.impl.Transactions.unregisterTransactionsFromConnection:(Lio/vertx/ext/stomp/StompServerConnection;)V
27: aload 3
aload 7
invokeinterface io.vertx.ext.stomp.StompServerConnection.write:(Lio/vertx/ext/stomp/Frame;)Lio/vertx/ext/stomp/StompServerConnection;
pop
28: aload 3
invokeinterface io.vertx.ext.stomp.StompServerConnection.close:()V
29: return
end local 7 30: StackMap locals:
StackMap stack:
aload 2
aload 3
invokestatic io.vertx.ext.stomp.Frames.handleReceipt:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
31: return
end local 6 32: StackMap locals:
StackMap stack:
aload 3
invokeinterface io.vertx.ext.stomp.StompServerConnection.handler:()Lio/vertx/ext/stomp/StompServerHandler;
invokeinterface io.vertx.ext.stomp.StompServerHandler.getDestinations:()Ljava/util/List;
astore 6
start local 6 33: aload 6
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 37
StackMap locals: io.vertx.ext.stomp.DefaultAckHandler io.vertx.ext.stomp.ServerFrame io.vertx.ext.stomp.Frame io.vertx.ext.stomp.StompServerConnection java.lang.String java.lang.String java.util.List top java.util.Iterator
StackMap stack:
34: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.vertx.ext.stomp.Destination
astore 7
start local 7 35: aload 7
aload 3
aload 2
invokeinterface io.vertx.ext.stomp.Destination.ack:(Lio/vertx/ext/stomp/StompServerConnection;Lio/vertx/ext/stomp/Frame;)Z
ifeq 37
36: goto 38
end local 7 37: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
38: StackMap locals: io.vertx.ext.stomp.DefaultAckHandler io.vertx.ext.stomp.ServerFrame io.vertx.ext.stomp.Frame io.vertx.ext.stomp.StompServerConnection java.lang.String java.lang.String java.util.List
StackMap stack:
aload 2
aload 3
invokestatic io.vertx.ext.stomp.Frames.handleReceipt:(Lio/vertx/ext/stomp/Frame;Lio/vertx/ext/stomp/StompServerConnection;)V
39: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lio/vertx/ext/stomp/DefaultAckHandler;
0 40 1 serverFrame Lio/vertx/ext/stomp/ServerFrame;
1 40 2 frame Lio/vertx/ext/stomp/Frame;
2 40 3 connection Lio/vertx/ext/stomp/StompServerConnection;
3 40 4 id Ljava/lang/String;
11 40 5 txId Ljava/lang/String;
13 32 6 transaction Lio/vertx/ext/stomp/impl/Transaction;
18 21 7 errorFrame Lio/vertx/ext/stomp/Frame;
26 30 7 errorFrame Lio/vertx/ext/stomp/Frame;
33 40 6 destinations Ljava/util/List<Lio/vertx/ext/stomp/Destination;>;
35 37 7 destination Lio/vertx/ext/stomp/Destination;
MethodParameters:
Name Flags
serverFrame
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: aload 0
aload 1
checkcast io.vertx.ext.stomp.ServerFrame
invokevirtual io.vertx.ext.stomp.DefaultAckHandler.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: "DefaultAckHandler.java"