public abstract class SingleThreadEventLoop extends SingleThreadEventExecutor implements EventLoop
EventLoops that execute all its submitted tasks in a single thread.| Modifier and Type | Class and Description |
|---|---|
protected static class |
SingleThreadEventLoop.ChannelsReadOnlyIterator<T extends Channel> |
SingleThreadEventExecutor.NonWakeupRunnable AbstractEventExecutor.LazyRunnable | Modifier and Type | Field and Description |
|---|---|
protected static int |
DEFAULT_MAX_PENDING_TASKS |
| Modifier | Constructor and Description |
|---|---|
protected |
SingleThreadEventLoop (EventLoopGroup parent,
Executor executor,
boolean addTaskWakesUp) |
protected |
SingleThreadEventLoop (EventLoopGroup parent,
Executor executor,
boolean addTaskWakesUp,
int maxPendingTasks,
RejectedExecutionHandler rejectedExecutionHandler) |
protected |
SingleThreadEventLoop (EventLoopGroup parent,
Executor executor,
boolean addTaskWakesUp,
Queue<Runnable> taskQueue,
Queue<Runnable> tailTaskQueue,
RejectedExecutionHandler rejectedExecutionHandler) |
protected |
SingleThreadEventLoop (EventLoopGroup parent,
ThreadFactory threadFactory,
boolean addTaskWakesUp) |
protected |
SingleThreadEventLoop (EventLoopGroup parent,
ThreadFactory threadFactory,
boolean addTaskWakesUp,
int maxPendingTasks,
RejectedExecutionHandler rejectedExecutionHandler) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
afterRunningAllTasks ()
Invoked before returning from
SingleThreadEventExecutor.runAllTasks() and SingleThreadEventExecutor.runAllTasks(long). |
void |
executeAfterEventLoopIteration (Runnable task)
Adds a task to be run once at the end of next (or current)
eventloop iteration. |
protected boolean |
hasTasks () |
EventLoop |
next ()
Returns a reference to itself.
|
EventLoopGroup |
parent ()
Return the
EventExecutorGroup which is the parent of this EventExecutor, |
int |
pendingTasks ()
Return the number of tasks that are pending for processing.
|
ChannelFuture |
register (Channel channel)
|
ChannelFuture |
register (Channel channel,
ChannelPromise promise)
Deprecated.
|
ChannelFuture |
register (ChannelPromise promise)
|
int |
registeredChannels ()
|
Iterator<Channel> |
registeredChannelsIterator () |
addShutdownHook, addTask, awaitTermination, cleanup, confirmShutdown, deadlineNanos, delayNanos, execute, inEventLoop, interruptThread, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isShuttingDown, isTerminated, lazyExecute, newTaskQueue, newTaskQueue, peekTask, pollTask, pollTaskFrom, reject, reject, removeShutdownHook, removeTask, run, runAllTasks, runAllTasks, runAllTasksFrom, runScheduledAndExecutorTasks, shutdown, shutdownGracefully, takeTask, terminationFuture, threadProperties, updateLastExecutionTime, wakesUpForTask, wakeup afterScheduledTaskSubmitted, beforeScheduledTaskSubmitted, cancelScheduledTasks, deadlineToDelayNanos, getCurrentTimeNanos, hasScheduledTasks, initialNanoTime, nanoTime, nextScheduledTaskDeadlineNanos, nextScheduledTaskNano, pollScheduledTask, pollScheduledTask, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, validateScheduled inEventLoop, iterator, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, newTaskFor, newTaskFor, runTask, safeExecute, shutdownGracefully, shutdownNow, submit, submit, submit clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait inEventLoop, inEventLoop, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture isShuttingDown, iterator, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, shutdown, shutdownGracefully, shutdownGracefully, shutdownNow, submit, submit, submit, terminationFuture awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated forEach, spliterator protected static final int DEFAULT_MAX_PENDING_TASKS
protected SingleThreadEventLoop(EventLoopGroup parent, ThreadFactory threadFactory, boolean addTaskWakesUp)
protected SingleThreadEventLoop(EventLoopGroup parent, Executor executor, boolean addTaskWakesUp)
protected SingleThreadEventLoop(EventLoopGroup parent, ThreadFactory threadFactory, boolean addTaskWakesUp, int maxPendingTasks, RejectedExecutionHandler rejectedExecutionHandler)
protected SingleThreadEventLoop(EventLoopGroup parent, Executor executor, boolean addTaskWakesUp, int maxPendingTasks, RejectedExecutionHandler rejectedExecutionHandler)
protected SingleThreadEventLoop(EventLoopGroup parent, Executor executor, boolean addTaskWakesUp, Queue<Runnable> taskQueue, Queue<Runnable> tailTaskQueue, RejectedExecutionHandler rejectedExecutionHandler)
public EventLoopGroup parent()
EventExecutor EventExecutorGroup which is the parent of this EventExecutor,parent in interface EventLoop parent in interface EventExecutor parent in class AbstractEventExecutor public EventLoop next()
EventExecutor next in interface EventLoopGroup next in interface EventExecutor next in interface EventExecutorGroup next in class AbstractEventExecutor public ChannelFuture register(Channel channel)
EventLoopGroup Channel with this EventLoop. The returned ChannelFuture
will get notified once the registration was complete.register in interface EventLoopGroup public ChannelFuture register(ChannelPromise promise)
EventLoopGroup Channel with this EventLoop using a ChannelFuture. The passed
ChannelFuture will get notified once the registration was complete and also will get returned.register in interface EventLoopGroup @Deprecated public ChannelFuture register(Channel channel, ChannelPromise promise)
EventLoopGroup Channel with this EventLoop. The passed ChannelFuture
will get notified once the registration was complete and also will get returned.register in interface EventLoopGroup public final void executeAfterEventLoopIteration(Runnable task)
eventloop iteration.task - to be added.protected void afterRunningAllTasks()
SingleThreadEventExecutor SingleThreadEventExecutor.runAllTasks() and SingleThreadEventExecutor.runAllTasks(long).afterRunningAllTasks in class SingleThreadEventExecutor protected boolean hasTasks()
hasTasks in class SingleThreadEventExecutor Collection.isEmpty() public int pendingTasks()
SingleThreadEventExecutor pendingTasks in class SingleThreadEventExecutor @UnstableApi public int registeredChannels()
@UnstableApi public Iterator<Channel> registeredChannelsIterator()
Channels registered with this EventLoop.
The returned value is not guaranteed to be exact accurate and
should be viewed as a best effort. This method is expected to be called from within
event loop.UnsupportedOperationException - if operation is not supported by implementation.Copyright © 2008–2025 The Netty Project. All rights reserved.