public abstract class com.mongodb.internal.session.ClientSessionContext implements com.mongodb.session.SessionContext
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.mongodb.internal.session.ClientSessionContext
  super_class: java.lang.Object
{
  private com.mongodb.session.ClientSession clientSession;
    descriptor: Lcom/mongodb/session/ClientSession;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(com.mongodb.session.ClientSession);
    descriptor: (Lcom/mongodb/session/ClientSession;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
        start local 1 // com.mongodb.session.ClientSession clientSession
         0: .line 30
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            ldc "clientSession"
            aload 1 /* clientSession */
            invokestatic com.mongodb.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.mongodb.session.ClientSession
            putfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
         2: .line 32
            return
        end local 1 // com.mongodb.session.ClientSession clientSession
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lcom/mongodb/internal/session/ClientSessionContext;
            0    3     1  clientSession  Lcom/mongodb/session/ClientSession;
    MethodParameters:
               Name  Flags
      clientSession  final

  public com.mongodb.session.ClientSession getClientSession();
    descriptor: ()Lcom/mongodb/session/ClientSession;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 35
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            areturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public boolean hasSession();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 40
            iconst_1
            ireturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public org.bson.BsonDocument getSessionId();
    descriptor: ()Lorg/bson/BsonDocument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 45
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.getServerSession:()Lcom/mongodb/session/ServerSession;
            invokeinterface com.mongodb.session.ServerSession.getIdentifier:()Lorg/bson/BsonDocument;
            areturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public boolean isCausallyConsistent();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 50
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.isCausallyConsistent:()Z
            ireturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public long getTransactionNumber();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 55
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.getServerSession:()Lcom/mongodb/session/ServerSession;
            invokeinterface com.mongodb.session.ServerSession.getTransactionNumber:()J
            lreturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public long advanceTransactionNumber();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 60
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.getServerSession:()Lcom/mongodb/session/ServerSession;
            invokeinterface com.mongodb.session.ServerSession.advanceTransactionNumber:()J
            lreturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public org.bson.BsonTimestamp getOperationTime();
    descriptor: ()Lorg/bson/BsonTimestamp;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 65
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.getOperationTime:()Lorg/bson/BsonTimestamp;
            areturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public void advanceOperationTime(org.bson.BsonTimestamp);
    descriptor: (Lorg/bson/BsonTimestamp;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
        start local 1 // org.bson.BsonTimestamp operationTime
         0: .line 70
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            aload 1 /* operationTime */
            invokeinterface com.mongodb.session.ClientSession.advanceOperationTime:(Lorg/bson/BsonTimestamp;)V
         1: .line 71
            return
        end local 1 // org.bson.BsonTimestamp operationTime
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/mongodb/internal/session/ClientSessionContext;
            0    2     1  operationTime  Lorg/bson/BsonTimestamp;
    MethodParameters:
               Name  Flags
      operationTime  final

  public org.bson.BsonDocument getClusterTime();
    descriptor: ()Lorg/bson/BsonDocument;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 75
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.getClusterTime:()Lorg/bson/BsonDocument;
            areturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public void advanceClusterTime(org.bson.BsonDocument);
    descriptor: (Lorg/bson/BsonDocument;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
        start local 1 // org.bson.BsonDocument clusterTime
         0: .line 80
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            aload 1 /* clusterTime */
            invokeinterface com.mongodb.session.ClientSession.advanceClusterTime:(Lorg/bson/BsonDocument;)V
         1: .line 81
            return
        end local 1 // org.bson.BsonDocument clusterTime
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/mongodb/internal/session/ClientSessionContext;
            0    2     1  clusterTime  Lorg/bson/BsonDocument;
    MethodParameters:
             Name  Flags
      clusterTime  final

  public void setRecoveryToken(org.bson.BsonDocument);
    descriptor: (Lorg/bson/BsonDocument;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
        start local 1 // org.bson.BsonDocument recoveryToken
         0: .line 85
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            aload 1 /* recoveryToken */
            invokeinterface com.mongodb.session.ClientSession.setRecoveryToken:(Lorg/bson/BsonDocument;)V
         1: .line 86
            return
        end local 1 // org.bson.BsonDocument recoveryToken
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lcom/mongodb/internal/session/ClientSessionContext;
            0    2     1  recoveryToken  Lorg/bson/BsonDocument;
    MethodParameters:
               Name  Flags
      recoveryToken  final

  public void unpinServerAddress();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 90
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            aconst_null
            invokeinterface com.mongodb.session.ClientSession.setPinnedServerAddress:(Lcom/mongodb/ServerAddress;)V
         1: .line 91
            return
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public void markSessionDirty();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 95
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.getServerSession:()Lcom/mongodb/session/ServerSession;
            invokeinterface com.mongodb.session.ServerSession.markDirty:()V
         1: .line 96
            return
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/mongodb/internal/session/ClientSessionContext;

  public boolean isSessionMarkedDirty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.session.ClientSessionContext this
         0: .line 100
            aload 0 /* this */
            getfield com.mongodb.internal.session.ClientSessionContext.clientSession:Lcom/mongodb/session/ClientSession;
            invokeinterface com.mongodb.session.ClientSession.getServerSession:()Lcom/mongodb/session/ServerSession;
            invokeinterface com.mongodb.session.ServerSession.isMarkedDirty:()Z
            ireturn
        end local 0 // com.mongodb.internal.session.ClientSessionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/session/ClientSessionContext;
}
SourceFile: "ClientSessionContext.java"