public abstract class SingleThreadEventLoop extends SingleThreadEventExecutor implements EventLoop
EventLoop
s 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 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()
Channel
s 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–2024 The Netty Project. All rights reserved.