class com.mongodb.async.client.ClientSessionImpl extends com.mongodb.internal.session.BaseClientSessionImpl implements com.mongodb.async.client.ClientSession
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.mongodb.async.client.ClientSessionImpl
super_class: com.mongodb.internal.session.BaseClientSessionImpl
{
private final com.mongodb.async.client.OperationExecutor executor;
descriptor: Lcom/mongodb/async/client/OperationExecutor;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.mongodb.async.client.ClientSessionImpl$TransactionState transactionState;
descriptor: Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
flags: (0x0002) ACC_PRIVATE
private boolean messageSentInCurrentTransaction;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean commitInProgress;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.mongodb.TransactionOptions transactionOptions;
descriptor: Lcom/mongodb/TransactionOptions;
flags: (0x0002) ACC_PRIVATE
void <init>(com.mongodb.internal.session.ServerSessionPool, com.mongodb.async.client.MongoClient, com.mongodb.ClientSessionOptions, com.mongodb.async.client.OperationExecutor);
descriptor: (Lcom/mongodb/internal/session/ServerSessionPool;Lcom/mongodb/async/client/MongoClient;Lcom/mongodb/ClientSessionOptions;Lcom/mongodb/async/client/OperationExecutor;)V
flags: (0x0000)
Code:
stack=4, 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
aload 2
aload 3
invokespecial com.mongodb.internal.session.BaseClientSessionImpl.<init>:(Lcom/mongodb/internal/session/ServerSessionPool;Ljava/lang/Object;Lcom/mongodb/ClientSessionOptions;)V
1: aload 0
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.NONE:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
putfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
2: aload 0
aload 4
putfield com.mongodb.async.client.ClientSessionImpl.executor:Lcom/mongodb/async/client/OperationExecutor;
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 Lcom/mongodb/async/client/ClientSessionImpl;
0 4 1 serverSessionPool Lcom/mongodb/internal/session/ServerSessionPool;
0 4 2 mongoClient Lcom/mongodb/async/client/MongoClient;
0 4 3 options Lcom/mongodb/ClientSessionOptions;
0 4 4 executor Lcom/mongodb/async/client/OperationExecutor;
MethodParameters:
Name Flags
serverSessionPool final
mongoClient final
options final
executor final
public boolean hasActiveTransaction();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.IN:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpeq 2
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.COMMITTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 1
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.commitInProgress:Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/async/client/ClientSessionImpl;
public boolean notifyMessageSent();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.mongodb.async.client.ClientSessionImpl.hasActiveTransaction:()Z
ifeq 6
1: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.messageSentInCurrentTransaction:Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 1
start local 1 4: aload 0
iconst_1
putfield com.mongodb.async.client.ClientSessionImpl.messageSentInCurrentTransaction:Z
5: iload 1
ireturn
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.COMMITTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpeq 7
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.ABORTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 8
7: StackMap locals:
StackMap stack:
aload 0
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.NONE:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
invokevirtual com.mongodb.async.client.ClientSessionImpl.cleanupTransaction:(Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;)V
8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/mongodb/async/client/ClientSessionImpl;
4 6 1 firstMessageInCurrentTransaction Z
public com.mongodb.TransactionOptions getTransactionOptions();
descriptor: ()Lcom/mongodb/TransactionOptions;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc "in transaction"
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.IN:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpeq 1
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.COMMITTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack: java.lang.String
1: iconst_1
StackMap locals: com.mongodb.async.client.ClientSessionImpl
StackMap stack: java.lang.String int
2: invokestatic com.mongodb.assertions.Assertions.isTrue:(Ljava/lang/String;Z)V
3: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/async/client/ClientSessionImpl;
public void startTransaction();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.mongodb.TransactionOptions.builder:()Lcom/mongodb/TransactionOptions$Builder;
invokevirtual com.mongodb.TransactionOptions$Builder.build:()Lcom/mongodb/TransactionOptions;
invokevirtual com.mongodb.async.client.ClientSessionImpl.startTransaction:(Lcom/mongodb/TransactionOptions;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/mongodb/async/client/ClientSessionImpl;
public void startTransaction(com.mongodb.TransactionOptions);
descriptor: (Lcom/mongodb/TransactionOptions;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: ldc "transactionOptions"
aload 1
invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.IN:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 3
2: new java.lang.IllegalStateException
dup
ldc "Transaction already in progress"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.COMMITTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 6
4: aload 0
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.IN:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
invokevirtual com.mongodb.async.client.ClientSessionImpl.cleanupTransaction:(Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;)V
5: goto 7
6: StackMap locals:
StackMap stack:
aload 0
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.IN:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
putfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.mongodb.async.client.ClientSessionImpl.getServerSession:()Lcom/mongodb/session/ServerSession;
invokeinterface com.mongodb.session.ServerSession.advanceTransactionNumber:()J
pop2
8: aload 0
aload 1
aload 0
invokevirtual com.mongodb.async.client.ClientSessionImpl.getOptions:()Lcom/mongodb/ClientSessionOptions;
invokevirtual com.mongodb.ClientSessionOptions.getDefaultTransactionOptions:()Lcom/mongodb/TransactionOptions;
invokestatic com.mongodb.TransactionOptions.merge:(Lcom/mongodb/TransactionOptions;Lcom/mongodb/TransactionOptions;)Lcom/mongodb/TransactionOptions;
putfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
9: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
invokevirtual com.mongodb.TransactionOptions.getWriteConcern:()Lcom/mongodb/WriteConcern;
astore 2
start local 2 10: aload 2
ifnonnull 12
11: new com.mongodb.MongoInternalException
dup
ldc "Invariant violated. Transaction options write concern can not be null"
invokespecial com.mongodb.MongoInternalException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: com.mongodb.WriteConcern
StackMap stack:
aload 2
invokevirtual com.mongodb.WriteConcern.isAcknowledged:()Z
ifne 14
13: new com.mongodb.MongoClientException
dup
ldc "Transactions do not support unacknowledged write concern"
invokespecial com.mongodb.MongoClientException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual com.mongodb.async.client.ClientSessionImpl.setPinnedServerAddress:(Lcom/mongodb/ServerAddress;)V
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/mongodb/async/client/ClientSessionImpl;
0 16 1 transactionOptions Lcom/mongodb/TransactionOptions;
10 16 2 writeConcern Lcom/mongodb/WriteConcern;
MethodParameters:
Name Flags
transactionOptions final
public void commitTransaction(com.mongodb.async.SingleResultCallback<java.lang.Void>);
descriptor: (Lcom/mongodb/async/SingleResultCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.ABORTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 2
1: new java.lang.IllegalStateException
dup
ldc "Cannot call commitTransaction after calling abortTransaction"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.NONE:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 4
3: new java.lang.IllegalStateException
dup
ldc "There is no transaction started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.messageSentInCurrentTransaction:Z
ifne 8
5: aload 0
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.COMMITTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
invokevirtual com.mongodb.async.client.ClientSessionImpl.cleanupTransaction:(Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;)V
6: aload 1
aconst_null
aconst_null
invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
7: goto 21
8: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
invokevirtual com.mongodb.TransactionOptions.getReadConcern:()Lcom/mongodb/ReadConcern;
astore 2
start local 2 9: aload 2
ifnonnull 11
10: new com.mongodb.MongoInternalException
dup
ldc "Invariant violated. Transaction options read concern can not be null"
invokespecial com.mongodb.MongoInternalException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals: com.mongodb.ReadConcern
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.commitInProgress:Z
ifne 12
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.COMMITTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpeq 12
iconst_0
goto 13
StackMap locals:
StackMap stack:
12: iconst_1
StackMap locals:
StackMap stack: int
13: istore 3
start local 3 14: aload 0
iconst_1
putfield com.mongodb.async.client.ClientSessionImpl.commitInProgress:Z
15: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.executor:Lcom/mongodb/async/client/OperationExecutor;
new com.mongodb.operation.CommitTransactionOperation
dup
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
invokevirtual com.mongodb.TransactionOptions.getWriteConcern:()Lcom/mongodb/WriteConcern;
iload 3
invokespecial com.mongodb.operation.CommitTransactionOperation.<init>:(Lcom/mongodb/WriteConcern;Z)V
16: aload 0
invokevirtual com.mongodb.async.client.ClientSessionImpl.getRecoveryToken:()Lorg/bson/BsonDocument;
invokevirtual com.mongodb.operation.CommitTransactionOperation.recoveryToken:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/CommitTransactionOperation;
17: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.mongodb.TransactionOptions.getMaxCommitTime:(Ljava/util/concurrent/TimeUnit;)Ljava/lang/Long;
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
invokevirtual com.mongodb.operation.CommitTransactionOperation.maxCommitTime:(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Lcom/mongodb/operation/CommitTransactionOperation;
18: aload 2
aload 0
19: new com.mongodb.async.client.ClientSessionImpl$1
dup
aload 0
aload 1
invokespecial com.mongodb.async.client.ClientSessionImpl$1.<init>:(Lcom/mongodb/async/client/ClientSessionImpl;Lcom/mongodb/async/SingleResultCallback;)V
20: invokeinterface com.mongodb.async.client.OperationExecutor.execute:(Lcom/mongodb/operation/AsyncWriteOperation;Lcom/mongodb/ReadConcern;Lcom/mongodb/async/client/ClientSession;Lcom/mongodb/async/SingleResultCallback;)V
end local 3 end local 2 21: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lcom/mongodb/async/client/ClientSessionImpl;
0 22 1 callback Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;
9 21 2 readConcern Lcom/mongodb/ReadConcern;
14 21 3 alreadyCommitted Z
Signature: (Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
callback final
public void abortTransaction(com.mongodb.async.SingleResultCallback<java.lang.Void>);
descriptor: (Lcom/mongodb/async/SingleResultCallback;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.ABORTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 2
1: new java.lang.IllegalStateException
dup
ldc "Cannot call abortTransaction twice"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.COMMITTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 4
3: new java.lang.IllegalStateException
dup
ldc "Cannot call abortTransaction after calling commitTransaction"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.NONE:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 6
5: new java.lang.IllegalStateException
dup
ldc "There is no transaction started"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.messageSentInCurrentTransaction:Z
ifne 10
7: aload 0
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.ABORTED:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
invokevirtual com.mongodb.async.client.ClientSessionImpl.cleanupTransaction:(Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;)V
8: aload 1
aconst_null
aconst_null
invokeinterface com.mongodb.async.SingleResultCallback.onResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
9: goto 17
10: StackMap locals:
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
invokevirtual com.mongodb.TransactionOptions.getReadConcern:()Lcom/mongodb/ReadConcern;
astore 2
start local 2 11: aload 2
ifnonnull 13
12: new com.mongodb.MongoInternalException
dup
ldc "Invariant violated. Transaction options read concern can not be null"
invokespecial com.mongodb.MongoInternalException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: com.mongodb.ReadConcern
StackMap stack:
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.executor:Lcom/mongodb/async/client/OperationExecutor;
new com.mongodb.operation.AbortTransactionOperation
dup
aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
invokevirtual com.mongodb.TransactionOptions.getWriteConcern:()Lcom/mongodb/WriteConcern;
invokespecial com.mongodb.operation.AbortTransactionOperation.<init>:(Lcom/mongodb/WriteConcern;)V
aload 0
invokevirtual com.mongodb.async.client.ClientSessionImpl.getRecoveryToken:()Lorg/bson/BsonDocument;
invokevirtual com.mongodb.operation.AbortTransactionOperation.recoveryToken:(Lorg/bson/BsonDocument;)Lcom/mongodb/operation/AbortTransactionOperation;
14: aload 2
aload 0
15: new com.mongodb.async.client.ClientSessionImpl$2
dup
aload 0
aload 1
invokespecial com.mongodb.async.client.ClientSessionImpl$2.<init>:(Lcom/mongodb/async/client/ClientSessionImpl;Lcom/mongodb/async/SingleResultCallback;)V
16: invokeinterface com.mongodb.async.client.OperationExecutor.execute:(Lcom/mongodb/operation/AsyncWriteOperation;Lcom/mongodb/ReadConcern;Lcom/mongodb/async/client/ClientSession;Lcom/mongodb/async/SingleResultCallback;)V
end local 2 17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/mongodb/async/client/ClientSessionImpl;
0 18 1 callback Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;
11 17 2 readConcern Lcom/mongodb/ReadConcern;
Signature: (Lcom/mongodb/async/SingleResultCallback<Ljava/lang/Void;>;)V
MethodParameters:
Name Flags
callback final
private void unpinServerAddressOnError(com.mongodb.MongoException);
descriptor: (Lcom/mongodb/MongoException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "TransientTransactionError"
invokevirtual com.mongodb.MongoException.hasErrorLabel:(Ljava/lang/String;)Z
ifne 1
aload 1
ldc "UnknownTransactionCommitResult"
invokevirtual com.mongodb.MongoException.hasErrorLabel:(Ljava/lang/String;)Z
ifeq 2
1: StackMap locals:
StackMap stack:
aload 0
aconst_null
invokevirtual com.mongodb.async.client.ClientSessionImpl.setPinnedServerAddress:(Lcom/mongodb/ServerAddress;)V
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/mongodb/async/client/ClientSessionImpl;
0 3 1 e Lcom/mongodb/MongoException;
MethodParameters:
Name Flags
e final
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
getstatic com.mongodb.async.client.ClientSessionImpl$TransactionState.IN:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
if_acmpne 3
1: aload 0
new com.mongodb.async.client.ClientSessionImpl$3
dup
aload 0
invokespecial com.mongodb.async.client.ClientSessionImpl$3.<init>:(Lcom/mongodb/async/client/ClientSessionImpl;)V
invokevirtual com.mongodb.async.client.ClientSessionImpl.abortTransaction:(Lcom/mongodb/async/SingleResultCallback;)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokespecial com.mongodb.internal.session.BaseClientSessionImpl.close:()V
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/mongodb/async/client/ClientSessionImpl;
private void cleanupTransaction(com.mongodb.async.client.ClientSessionImpl$TransactionState);
descriptor: (Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield com.mongodb.async.client.ClientSessionImpl.messageSentInCurrentTransaction:Z
1: aload 0
aconst_null
putfield com.mongodb.async.client.ClientSessionImpl.transactionOptions:Lcom/mongodb/TransactionOptions;
2: aload 0
aload 1
putfield com.mongodb.async.client.ClientSessionImpl.transactionState:Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/mongodb/async/client/ClientSessionImpl;
0 4 1 nextState Lcom/mongodb/async/client/ClientSessionImpl$TransactionState;
MethodParameters:
Name Flags
nextState final
static void access$0(com.mongodb.async.client.ClientSessionImpl);
descriptor: (Lcom/mongodb/async/client/ClientSessionImpl;)V
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokespecial com.mongodb.internal.session.BaseClientSessionImpl.close:()V
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ClientSessionImpl.java"
NestMembers:
com.mongodb.async.client.ClientSessionImpl$1 com.mongodb.async.client.ClientSessionImpl$2 com.mongodb.async.client.ClientSessionImpl$3 com.mongodb.async.client.ClientSessionImpl$TransactionState
InnerClasses:
public final Builder = com.mongodb.TransactionOptions$Builder of com.mongodb.TransactionOptions
com.mongodb.async.client.ClientSessionImpl$1
com.mongodb.async.client.ClientSessionImpl$2
com.mongodb.async.client.ClientSessionImpl$3
private final TransactionState = com.mongodb.async.client.ClientSessionImpl$TransactionState of com.mongodb.async.client.ClientSessionImpl