final class io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask extends io.netty.handler.timeout.IdleStateHandler$AbstractIdleTask
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask
  super_class: io.netty.handler.timeout.IdleStateHandler$AbstractIdleTask
{
  final io.netty.handler.timeout.IdleStateHandler this$0;
    descriptor: Lio/netty/handler/timeout/IdleStateHandler;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(io.netty.handler.timeout.IdleStateHandler, io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/handler/timeout/IdleStateHandler;Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask this
        start local 2 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 542
            aload 0 /* this */
            aload 1
            putfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
         1: .line 543
            aload 0 /* this */
            aload 2 /* ctx */
            invokespecial io.netty.handler.timeout.IdleStateHandler$AbstractIdleTask.<init>:(Lio/netty/channel/ChannelHandlerContext;)V
         2: .line 544
            return
        end local 2 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/timeout/IdleStateHandler$AllIdleTimeoutTask;
            0    3     2   ctx  Lio/netty/channel/ChannelHandlerContext;
    MethodParameters:
        Name  Flags
      this$0  final
      ctx     

  protected void run(io.netty.channel.ChannelHandlerContext);
    descriptor: (Lio/netty/channel/ChannelHandlerContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask this
        start local 1 // io.netty.channel.ChannelHandlerContext ctx
         0: .line 549
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            getfield io.netty.handler.timeout.IdleStateHandler.allIdleTimeNanos:J
            lstore 2 /* nextDelay */
        start local 2 // long nextDelay
         1: .line 550
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            getfield io.netty.handler.timeout.IdleStateHandler.reading:Z
            ifne 3
         2: .line 551
            lload 2 /* nextDelay */
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            invokevirtual io.netty.handler.timeout.IdleStateHandler.ticksInNanos:()J
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            getfield io.netty.handler.timeout.IdleStateHandler.lastReadTime:J
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            getfield io.netty.handler.timeout.IdleStateHandler.lastWriteTime:J
            invokestatic java.lang.Math.max:(JJ)J
            lsub
            lsub
            lstore 2 /* nextDelay */
         3: .line 553
      StackMap locals: long
      StackMap stack:
            lload 2 /* nextDelay */
            lconst_0
            lcmp
            ifgt 15
         4: .line 556
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            aload 1 /* ctx */
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            getfield io.netty.handler.timeout.IdleStateHandler.allIdleTimeNanos:J
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual io.netty.handler.timeout.IdleStateHandler.schedule:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            putfield io.netty.handler.timeout.IdleStateHandler.allIdleTimeout:Ljava/util/concurrent/ScheduledFuture;
         5: .line 558
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            getfield io.netty.handler.timeout.IdleStateHandler.firstAllIdleEvent:Z
            istore 4 /* first */
        start local 4 // boolean first
         6: .line 559
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            iconst_0
            putfield io.netty.handler.timeout.IdleStateHandler.firstAllIdleEvent:Z
         7: .line 562
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            aload 1 /* ctx */
            iload 4 /* first */
            invokevirtual io.netty.handler.timeout.IdleStateHandler.hasOutputChanged:(Lio/netty/channel/ChannelHandlerContext;Z)Z
            ifeq 9
         8: .line 563
            return
         9: .line 566
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            getstatic io.netty.handler.timeout.IdleState.ALL_IDLE:Lio/netty/handler/timeout/IdleState;
            iload 4 /* first */
            invokevirtual io.netty.handler.timeout.IdleStateHandler.newIdleStateEvent:(Lio/netty/handler/timeout/IdleState;Z)Lio/netty/handler/timeout/IdleStateEvent;
            astore 5 /* event */
        start local 5 // io.netty.handler.timeout.IdleStateEvent event
        10: .line 567
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            aload 1 /* ctx */
            aload 5 /* event */
            invokevirtual io.netty.handler.timeout.IdleStateHandler.channelIdle:(Lio/netty/channel/ChannelHandlerContext;Lio/netty/handler/timeout/IdleStateEvent;)V
        end local 5 // io.netty.handler.timeout.IdleStateEvent event
        11: .line 568
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: astore 5 /* t */
        start local 5 // java.lang.Throwable t
        13: .line 569
            aload 1 /* ctx */
            aload 5 /* t */
            invokeinterface io.netty.channel.ChannelHandlerContext.fireExceptionCaught:(Ljava/lang/Throwable;)Lio/netty/channel/ChannelHandlerContext;
            pop
        end local 5 // java.lang.Throwable t
        end local 4 // boolean first
        14: .line 571
            goto 16
        15: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            aload 0 /* this */
            getfield io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask.this$0:Lio/netty/handler/timeout/IdleStateHandler;
            aload 1 /* ctx */
            aload 0 /* this */
            lload 2 /* nextDelay */
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual io.netty.handler.timeout.IdleStateHandler.schedule:(Lio/netty/channel/ChannelHandlerContext;Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            putfield io.netty.handler.timeout.IdleStateHandler.allIdleTimeout:Ljava/util/concurrent/ScheduledFuture;
        16: .line 576
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long nextDelay
        end local 1 // io.netty.channel.ChannelHandlerContext ctx
        end local 0 // io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   17     0       this  Lio/netty/handler/timeout/IdleStateHandler$AllIdleTimeoutTask;
            0   17     1        ctx  Lio/netty/channel/ChannelHandlerContext;
            1   17     2  nextDelay  J
            6   14     4      first  Z
           10   11     5      event  Lio/netty/handler/timeout/IdleStateEvent;
           13   14     5          t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8      12  Class java.lang.Throwable
           9    11      12  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      ctx   
}
SourceFile: "IdleStateHandler.java"
NestHost: io.netty.handler.timeout.IdleStateHandler
InnerClasses:
  private abstract AbstractIdleTask = io.netty.handler.timeout.IdleStateHandler$AbstractIdleTask of io.netty.handler.timeout.IdleStateHandler
  private final AllIdleTimeoutTask = io.netty.handler.timeout.IdleStateHandler$AllIdleTimeoutTask of io.netty.handler.timeout.IdleStateHandler