class org.hsqldb.Session$TimeoutManager
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.hsqldb.Session$TimeoutManager
  super_class: java.lang.Object
{
  java.util.concurrent.atomic.AtomicInteger currentTimeout;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x0000) 

  final org.hsqldb.Session this$0;
    descriptor: Lorg/hsqldb/Session;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hsqldb.Session$TimeoutManager this
         0: .line 2345
            aload 0 /* this */
            aload 1
            putfield org.hsqldb.Session$TimeoutManager.this$0:Lorg/hsqldb/Session;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 2347
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicInteger
            dup
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:()V
            putfield org.hsqldb.Session$TimeoutManager.currentTimeout:Ljava/util/concurrent/atomic/AtomicInteger;
         2: .line 2345
            return
        end local 0 // org.hsqldb.Session$TimeoutManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/Session$TimeoutManager;
    MethodParameters:
        Name  Flags
      this$0  final

  void startTimeout(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Session$TimeoutManager this
        start local 1 // int timeout
         0: .line 2351
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.currentTimeout:Ljava/util/concurrent/atomic/AtomicInteger;
            iload 1 /* timeout */
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         1: .line 2353
            iload 1 /* timeout */
            ifne 3
         2: .line 2354
            return
         3: .line 2357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.this$0:Lorg/hsqldb/Session;
            getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.timeoutRunner:Lorg/hsqldb/Database$TimeoutRunner;
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.this$0:Lorg/hsqldb/Session;
            invokevirtual org.hsqldb.Database$TimeoutRunner.addSession:(Lorg/hsqldb/Session;)V
         4: .line 2358
            return
        end local 1 // int timeout
        end local 0 // org.hsqldb.Session$TimeoutManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/hsqldb/Session$TimeoutManager;
            0    5     1  timeout  I
    MethodParameters:
         Name  Flags
      timeout  

  boolean endTimeout();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Session$TimeoutManager this
         0: .line 2362
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.currentTimeout:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         1: .line 2364
            iconst_1
            ireturn
        end local 0 // org.hsqldb.Session$TimeoutManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Session$TimeoutManager;

  public boolean checkTimeout();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.hsqldb.Session$TimeoutManager this
         0: .line 2369
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.currentTimeout:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ifne 2
         1: .line 2370
            iconst_1
            ireturn
         2: .line 2373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.currentTimeout:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            istore 1 /* result */
        start local 1 // int result
         3: .line 2375
            iload 1 /* result */
            ifgt 10
         4: .line 2376
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.currentTimeout:Ljava/util/concurrent/atomic/AtomicInteger;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicInteger.set:(I)V
         5: .line 2377
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.this$0:Lorg/hsqldb/Session;
            getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.txManager:Lorg/hsqldb/TransactionManager;
         6: .line 2378
            aconst_null
            aload 0 /* this */
            getfield org.hsqldb.Session$TimeoutManager.this$0:Lorg/hsqldb/Session;
         7: .line 2379
            iconst_5
         8: .line 2377
            invokeinterface org.hsqldb.TransactionManager.resetSession:(Lorg/hsqldb/Session;Lorg/hsqldb/Session;I)V
         9: .line 2381
            iconst_1
            ireturn
        10: .line 2384
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int result
        end local 0 // org.hsqldb.Session$TimeoutManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lorg/hsqldb/Session$TimeoutManager;
            3   11     1  result  I
}
SourceFile: "Session.java"
NestHost: org.hsqldb.Session
InnerClasses:
  TimeoutRunner = org.hsqldb.Database$TimeoutRunner of org.hsqldb.Database
  TimeoutManager = org.hsqldb.Session$TimeoutManager of org.hsqldb.Session