class io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask implements java.lang.Runnable
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask
super_class: java.lang.Object
{
private final io.netty.handler.traffic.GlobalChannelTrafficShapingHandler trafficShapingHandler1;
descriptor: Lio/netty/handler/traffic/GlobalChannelTrafficShapingHandler;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final io.netty.handler.traffic.TrafficCounter counter;
descriptor: Lio/netty/handler/traffic/TrafficCounter;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(io.netty.handler.traffic.GlobalChannelTrafficShapingHandler, io.netty.handler.traffic.TrafficCounter);
descriptor: (Lio/netty/handler/traffic/GlobalChannelTrafficShapingHandler;Lio/netty/handler/traffic/TrafficCounter;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask this
start local 1 // io.netty.handler.traffic.GlobalChannelTrafficShapingHandler trafficShapingHandler
start local 2 // io.netty.handler.traffic.TrafficCounter counter
0: .line 63
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 66
aload 0 /* this */
aload 1 /* trafficShapingHandler */
putfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.trafficShapingHandler1:Lio/netty/handler/traffic/GlobalChannelTrafficShapingHandler;
2: .line 67
aload 0 /* this */
aload 2 /* counter */
putfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.counter:Lio/netty/handler/traffic/TrafficCounter;
3: .line 68
return
end local 2 // io.netty.handler.traffic.TrafficCounter counter
end local 1 // io.netty.handler.traffic.GlobalChannelTrafficShapingHandler trafficShapingHandler
end local 0 // io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lio/netty/handler/traffic/GlobalChannelTrafficCounter$MixedTrafficMonitoringTask;
0 4 1 trafficShapingHandler Lio/netty/handler/traffic/GlobalChannelTrafficShapingHandler;
0 4 2 counter Lio/netty/handler/traffic/TrafficCounter;
MethodParameters:
Name Flags
trafficShapingHandler
counter
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=1
start local 0 // io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask this
0: .line 72
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.counter:Lio/netty/handler/traffic/TrafficCounter;
getfield io.netty.handler.traffic.TrafficCounter.monitorActive:Z
ifne 2
1: .line 73
return
2: .line 75
StackMap locals:
StackMap stack:
invokestatic io.netty.handler.traffic.GlobalChannelTrafficCounter.milliSecondFromNano:()J
lstore 1 /* newLastTime */
start local 1 // long newLastTime
3: .line 76
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.counter:Lio/netty/handler/traffic/TrafficCounter;
lload 1 /* newLastTime */
invokevirtual io.netty.handler.traffic.TrafficCounter.resetAccounting:(J)V
4: .line 77
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.trafficShapingHandler1:Lio/netty/handler/traffic/GlobalChannelTrafficShapingHandler;
getfield io.netty.handler.traffic.GlobalChannelTrafficShapingHandler.channelQueues:Ljava/util/concurrent/ConcurrentMap;
invokeinterface java.util.concurrent.ConcurrentMap.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 7
StackMap locals: io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask long top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast io.netty.handler.traffic.GlobalChannelTrafficShapingHandler$PerChannel
astore 3 /* perChannel */
start local 3 // io.netty.handler.traffic.GlobalChannelTrafficShapingHandler$PerChannel perChannel
6: .line 78
aload 3 /* perChannel */
getfield io.netty.handler.traffic.GlobalChannelTrafficShapingHandler$PerChannel.channelTrafficCounter:Lio/netty/handler/traffic/TrafficCounter;
lload 1 /* newLastTime */
invokevirtual io.netty.handler.traffic.TrafficCounter.resetAccounting:(J)V
end local 3 // io.netty.handler.traffic.GlobalChannelTrafficShapingHandler$PerChannel perChannel
7: .line 77
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
8: .line 80
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.trafficShapingHandler1:Lio/netty/handler/traffic/GlobalChannelTrafficShapingHandler;
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.counter:Lio/netty/handler/traffic/TrafficCounter;
invokevirtual io.netty.handler.traffic.GlobalChannelTrafficShapingHandler.doAccounting:(Lio/netty/handler/traffic/TrafficCounter;)V
9: .line 81
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.counter:Lio/netty/handler/traffic/TrafficCounter;
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.counter:Lio/netty/handler/traffic/TrafficCounter;
getfield io.netty.handler.traffic.TrafficCounter.executor:Ljava/util/concurrent/ScheduledExecutorService;
aload 0 /* this */
aload 0 /* this */
getfield io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask.counter:Lio/netty/handler/traffic/TrafficCounter;
getfield io.netty.handler.traffic.TrafficCounter.checkInterval:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
10: .line 82
getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
11: .line 81
invokeinterface java.util.concurrent.ScheduledExecutorService.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
putfield io.netty.handler.traffic.TrafficCounter.scheduledFuture:Ljava/util/concurrent/ScheduledFuture;
12: .line 83
return
end local 1 // long newLastTime
end local 0 // io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lio/netty/handler/traffic/GlobalChannelTrafficCounter$MixedTrafficMonitoringTask;
3 13 1 newLastTime J
6 7 3 perChannel Lio/netty/handler/traffic/GlobalChannelTrafficShapingHandler$PerChannel;
}
SourceFile: "GlobalChannelTrafficCounter.java"
NestHost: io.netty.handler.traffic.GlobalChannelTrafficCounter
InnerClasses:
private MixedTrafficMonitoringTask = io.netty.handler.traffic.GlobalChannelTrafficCounter$MixedTrafficMonitoringTask of io.netty.handler.traffic.GlobalChannelTrafficCounter
final PerChannel = io.netty.handler.traffic.GlobalChannelTrafficShapingHandler$PerChannel of io.netty.handler.traffic.GlobalChannelTrafficShapingHandler