public abstract class io.netty.channel.SingleThreadEventLoop extends io.netty.util.concurrent.SingleThreadEventExecutor implements io.netty.channel.EventLoop
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: io.netty.channel.SingleThreadEventLoop
super_class: io.netty.util.concurrent.SingleThreadEventExecutor
{
protected static final int DEFAULT_MAX_PENDING_TASKS;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
private final java.util.Queue<java.lang.Runnable> tailTasks;
descriptor: Ljava/util/Queue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Queue<Ljava/lang/Runnable;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: bipush 16
1: ldc "io.netty.eventLoop.maxPendingTasks"
ldc 2147483647
invokestatic io.netty.util.internal.SystemPropertyUtil.getInt:(Ljava/lang/String;I)I
2: invokestatic java.lang.Math.max:(II)I
putstatic io.netty.channel.SingleThreadEventLoop.DEFAULT_MAX_PENDING_TASKS:I
3: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(io.netty.channel.EventLoopGroup, java.util.concurrent.ThreadFactory, boolean);
descriptor: (Lio/netty/channel/EventLoopGroup;Ljava/util/concurrent/ThreadFactory;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
getstatic io.netty.channel.SingleThreadEventLoop.DEFAULT_MAX_PENDING_TASKS:I
invokestatic io.netty.util.concurrent.RejectedExecutionHandlers.reject:()Lio/netty/util/concurrent/RejectedExecutionHandler;
invokespecial io.netty.channel.SingleThreadEventLoop.<init>:(Lio/netty/channel/EventLoopGroup;Ljava/util/concurrent/ThreadFactory;ZILio/netty/util/concurrent/RejectedExecutionHandler;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/SingleThreadEventLoop;
0 2 1 parent Lio/netty/channel/EventLoopGroup;
0 2 2 threadFactory Ljava/util/concurrent/ThreadFactory;
0 2 3 addTaskWakesUp Z
MethodParameters:
Name Flags
parent
threadFactory
addTaskWakesUp
protected void <init>(io.netty.channel.EventLoopGroup, java.util.concurrent.Executor, boolean);
descriptor: (Lio/netty/channel/EventLoopGroup;Ljava/util/concurrent/Executor;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
getstatic io.netty.channel.SingleThreadEventLoop.DEFAULT_MAX_PENDING_TASKS:I
invokestatic io.netty.util.concurrent.RejectedExecutionHandlers.reject:()Lio/netty/util/concurrent/RejectedExecutionHandler;
invokespecial io.netty.channel.SingleThreadEventLoop.<init>:(Lio/netty/channel/EventLoopGroup;Ljava/util/concurrent/Executor;ZILio/netty/util/concurrent/RejectedExecutionHandler;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/SingleThreadEventLoop;
0 2 1 parent Lio/netty/channel/EventLoopGroup;
0 2 2 executor Ljava/util/concurrent/Executor;
0 2 3 addTaskWakesUp Z
MethodParameters:
Name Flags
parent
executor
addTaskWakesUp
protected void <init>(io.netty.channel.EventLoopGroup, java.util.concurrent.ThreadFactory, boolean, int, io.netty.util.concurrent.RejectedExecutionHandler);
descriptor: (Lio/netty/channel/EventLoopGroup;Ljava/util/concurrent/ThreadFactory;ZILio/netty/util/concurrent/RejectedExecutionHandler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
invokespecial io.netty.util.concurrent.SingleThreadEventExecutor.<init>:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/util/concurrent/ThreadFactory;ZILio/netty/util/concurrent/RejectedExecutionHandler;)V
1: aload 0
aload 0
iload 4
invokevirtual io.netty.channel.SingleThreadEventLoop.newTaskQueue:(I)Ljava/util/Queue;
putfield io.netty.channel.SingleThreadEventLoop.tailTasks:Ljava/util/Queue;
2: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/SingleThreadEventLoop;
0 3 1 parent Lio/netty/channel/EventLoopGroup;
0 3 2 threadFactory Ljava/util/concurrent/ThreadFactory;
0 3 3 addTaskWakesUp Z
0 3 4 maxPendingTasks I
0 3 5 rejectedExecutionHandler Lio/netty/util/concurrent/RejectedExecutionHandler;
MethodParameters:
Name Flags
parent
threadFactory
addTaskWakesUp
maxPendingTasks
rejectedExecutionHandler
protected void <init>(io.netty.channel.EventLoopGroup, java.util.concurrent.Executor, boolean, int, io.netty.util.concurrent.RejectedExecutionHandler);
descriptor: (Lio/netty/channel/EventLoopGroup;Ljava/util/concurrent/Executor;ZILio/netty/util/concurrent/RejectedExecutionHandler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
iload 3
iload 4
aload 5
invokespecial io.netty.util.concurrent.SingleThreadEventExecutor.<init>:(Lio/netty/util/concurrent/EventExecutorGroup;Ljava/util/concurrent/Executor;ZILio/netty/util/concurrent/RejectedExecutionHandler;)V
1: aload 0
aload 0
iload 4
invokevirtual io.netty.channel.SingleThreadEventLoop.newTaskQueue:(I)Ljava/util/Queue;
putfield io.netty.channel.SingleThreadEventLoop.tailTasks:Ljava/util/Queue;
2: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/SingleThreadEventLoop;
0 3 1 parent Lio/netty/channel/EventLoopGroup;
0 3 2 executor Ljava/util/concurrent/Executor;
0 3 3 addTaskWakesUp Z
0 3 4 maxPendingTasks I
0 3 5 rejectedExecutionHandler Lio/netty/util/concurrent/RejectedExecutionHandler;
MethodParameters:
Name Flags
parent
executor
addTaskWakesUp
maxPendingTasks
rejectedExecutionHandler
public io.netty.channel.EventLoopGroup parent();
descriptor: ()Lio/netty/channel/EventLoopGroup;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.util.concurrent.SingleThreadEventExecutor.parent:()Lio/netty/util/concurrent/EventExecutorGroup;
checkcast io.netty.channel.EventLoopGroup
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/SingleThreadEventLoop;
public io.netty.channel.EventLoop next();
descriptor: ()Lio/netty/channel/EventLoop;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.util.concurrent.SingleThreadEventExecutor.next:()Lio/netty/util/concurrent/EventExecutor;
checkcast io.netty.channel.EventLoop
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/SingleThreadEventLoop;
public io.netty.channel.ChannelFuture register(io.netty.channel.Channel);
descriptor: (Lio/netty/channel/Channel;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new io.netty.channel.DefaultChannelPromise
dup
aload 1
aload 0
invokespecial io.netty.channel.DefaultChannelPromise.<init>:(Lio/netty/channel/Channel;Lio/netty/util/concurrent/EventExecutor;)V
invokevirtual io.netty.channel.SingleThreadEventLoop.register:(Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/SingleThreadEventLoop;
0 1 1 channel Lio/netty/channel/Channel;
MethodParameters:
Name Flags
channel
public io.netty.channel.ChannelFuture register(io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "promise"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 1
invokeinterface io.netty.channel.ChannelPromise.channel:()Lio/netty/channel/Channel;
invokeinterface io.netty.channel.Channel.unsafe:()Lio/netty/channel/Channel$Unsafe;
aload 0
aload 1
invokeinterface io.netty.channel.Channel$Unsafe.register:(Lio/netty/channel/EventLoop;Lio/netty/channel/ChannelPromise;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/SingleThreadEventLoop;
0 3 1 promise Lio/netty/channel/ChannelPromise;
MethodParameters:
Name Flags
promise final
public io.netty.channel.ChannelFuture register(io.netty.channel.Channel, io.netty.channel.ChannelPromise);
descriptor: (Lio/netty/channel/Channel;Lio/netty/channel/ChannelPromise;)Lio/netty/channel/ChannelFuture;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: new java.lang.NullPointerException
dup
ldc "channel"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.NullPointerException
dup
ldc "promise"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
invokeinterface io.netty.channel.Channel.unsafe:()Lio/netty/channel/Channel$Unsafe;
aload 0
aload 2
invokeinterface io.netty.channel.Channel$Unsafe.register:(Lio/netty/channel/EventLoop;Lio/netty/channel/ChannelPromise;)V
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lio/netty/channel/SingleThreadEventLoop;
0 6 1 channel Lio/netty/channel/Channel;
0 6 2 promise Lio/netty/channel/ChannelPromise;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
channel final
promise final
public final void executeAfterEventLoopIteration(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "task"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
1: aload 0
invokevirtual io.netty.channel.SingleThreadEventLoop.isShutdown:()Z
ifeq 3
2: invokestatic io.netty.channel.SingleThreadEventLoop.reject:()V
3: StackMap locals:
StackMap stack:
aload 0
getfield io.netty.channel.SingleThreadEventLoop.tailTasks:Ljava/util/Queue;
aload 1
invokeinterface java.util.Queue.offer:(Ljava/lang/Object;)Z
ifne 5
4: aload 0
aload 1
invokevirtual io.netty.channel.SingleThreadEventLoop.reject:(Ljava/lang/Runnable;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual io.netty.channel.SingleThreadEventLoop.wakesUpForTask:(Ljava/lang/Runnable;)Z
ifeq 7
6: aload 0
aload 0
invokevirtual io.netty.channel.SingleThreadEventLoop.inEventLoop:()Z
invokevirtual io.netty.channel.SingleThreadEventLoop.wakeup:(Z)V
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lio/netty/channel/SingleThreadEventLoop;
0 8 1 task Ljava/lang/Runnable;
MethodParameters:
Name Flags
task
final boolean removeAfterEventLoopIterationTask(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Z
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield io.netty.channel.SingleThreadEventLoop.tailTasks:Ljava/util/Queue;
aload 1
ldc "task"
invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
invokeinterface java.util.Queue.remove:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/SingleThreadEventLoop;
0 1 1 task Ljava/lang/Runnable;
MethodParameters:
Name Flags
task
protected boolean wakesUpForTask(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof io.netty.channel.SingleThreadEventLoop$NonWakeupRunnable
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lio/netty/channel/SingleThreadEventLoop;
0 3 1 task Ljava/lang/Runnable;
MethodParameters:
Name Flags
task
protected void afterRunningAllTasks();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield io.netty.channel.SingleThreadEventLoop.tailTasks:Ljava/util/Queue;
invokevirtual io.netty.channel.SingleThreadEventLoop.runAllTasksFrom:(Ljava/util/Queue;)Z
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/SingleThreadEventLoop;
protected boolean hasTasks();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.util.concurrent.SingleThreadEventExecutor.hasTasks:()Z
ifne 1
aload 0
getfield io.netty.channel.SingleThreadEventLoop.tailTasks:Ljava/util/Queue;
invokeinterface java.util.Queue.isEmpty:()Z
ifeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/netty/channel/SingleThreadEventLoop;
public int pendingTasks();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial io.netty.util.concurrent.SingleThreadEventExecutor.pendingTasks:()I
aload 0
getfield io.netty.channel.SingleThreadEventLoop.tailTasks:Ljava/util/Queue;
invokeinterface java.util.Queue.size:()I
iadd
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lio/netty/channel/SingleThreadEventLoop;
public io.netty.util.concurrent.EventExecutorGroup parent();
descriptor: ()Lio/netty/util/concurrent/EventExecutorGroup;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.channel.SingleThreadEventLoop.parent:()Lio/netty/channel/EventLoopGroup;
areturn
LocalVariableTable:
Start End Slot Name Signature
public io.netty.util.concurrent.EventExecutor next();
descriptor: ()Lio/netty/util/concurrent/EventExecutor;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual io.netty.channel.SingleThreadEventLoop.next:()Lio/netty/channel/EventLoop;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "SingleThreadEventLoop.java"
NestMembers:
io.netty.channel.SingleThreadEventLoop$NonWakeupRunnable
InnerClasses:
public abstract Unsafe = io.netty.channel.Channel$Unsafe of io.netty.channel.Channel
abstract NonWakeupRunnable = io.netty.channel.SingleThreadEventLoop$NonWakeupRunnable of io.netty.channel.SingleThreadEventLoop