Class DefaultEventExecutor
java.lang.Object
java.util.concurrent.AbstractExecutorService
io.netty.util.concurrent.AbstractEventExecutor
io.netty.util.concurrent.AbstractScheduledEventExecutor
io.netty.util.concurrent.SingleThreadEventExecutor
io.netty.util.concurrent.DefaultEventExecutor
- All Implemented Interfaces:
EventExecutor, EventExecutorGroup, OrderedEventExecutor, ThreadAwareExecutor, Iterable<EventExecutor>, Executor, ExecutorService, ScheduledExecutorService
Default
SingleThreadEventExecutor implementation which just execute all submitted task in a
serial fashion.-
Nested Class Summary
Nested classes/interfaces inherited from class SingleThreadEventExecutor
SingleThreadEventExecutor.NonWakeupRunnableNested classes/interfaces inherited from class AbstractEventExecutor
AbstractEventExecutor.LazyRunnable -
Constructor Summary
ConstructorsConstructorDescriptionDefaultEventExecutor(EventExecutorGroup parent, Executor executor) DefaultEventExecutor(EventExecutorGroup parent, Executor executor, int maxPendingTasks, RejectedExecutionHandler rejectedExecutionHandler) DefaultEventExecutor(EventExecutorGroup parent, ThreadFactory threadFactory) DefaultEventExecutor(EventExecutorGroup parent, ThreadFactory threadFactory, int maxPendingTasks, RejectedExecutionHandler rejectedExecutionHandler) DefaultEventExecutor(Executor executor) DefaultEventExecutor(ThreadFactory threadFactory) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidrun()Runs the task-processing loop untilSingleThreadEventExecutor.confirmShutdown()returnstrue.Methods inherited from class SingleThreadEventExecutor
addShutdownHook, addTask, afterRunningAllTasks, awaitTermination, canSuspend, canSuspend, cleanup, confirmShutdown, deadlineNanos, delayNanos, execute, getAndIncrementBusyCycles, getAndIncrementIdleCycles, getAndResetAccumulatedActiveTimeNanos, getLastActivityTimeNanos, getNumOfRegisteredChannels, hasTasks, inEventLoop, interruptThread, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isShuttingDown, isSuspended, isSuspensionSupported, isTerminated, lazyExecute, newTaskQueue, newTaskQueue, peekTask, pendingTasks, pollTask, pollTaskFrom, reject, reject, removeShutdownHook, removeTask, reportActiveIoTime, resetBusyCycles, resetIdleCycles, runAllTasks, runAllTasks, runAllTasksFrom, runScheduledAndExecutorTasks, shutdown, shutdownGracefully, takeTask, terminationFuture, threadProperties, trySuspend, updateLastExecutionTime, wakesUpForTask, wakeupMethods inherited from class AbstractScheduledEventExecutor
afterScheduledTaskSubmitted, beforeScheduledTaskSubmitted, cancelScheduledTasks, deadlineToDelayNanos, delayNanos, fetchFromScheduledTaskQueue, getCurrentTimeNanos, hasScheduledTasks, initialNanoTime, nanoTime, nextScheduledTaskDeadlineNanos, nextScheduledTaskNano, pollScheduledTask, pollScheduledTask, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, ticker, validateScheduledMethods inherited from class AbstractEventExecutor
iterator, newTaskFor, newTaskFor, next, parent, runTask, safeExecute, shutdownGracefully, shutdownNow, submit, submit, submitMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface EventExecutor
inEventLoop, isExecutorThread, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, parentMethods inherited from interface EventExecutorGroup
iterator, next, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, shutdownGracefully, shutdownNow, submit, submit, submit, tickerMethods inherited from interface Iterable
forEach, spliterator
-
Constructor Details
-
DefaultEventExecutor
public DefaultEventExecutor() -
DefaultEventExecutor
-
DefaultEventExecutor
-
DefaultEventExecutor
-
DefaultEventExecutor
-
DefaultEventExecutor
-
DefaultEventExecutor
public DefaultEventExecutor(EventExecutorGroup parent, ThreadFactory threadFactory, int maxPendingTasks, RejectedExecutionHandler rejectedExecutionHandler) -
DefaultEventExecutor
public DefaultEventExecutor(EventExecutorGroup parent, Executor executor, int maxPendingTasks, RejectedExecutionHandler rejectedExecutionHandler)
-
-
Method Details
-
run
protected void run()Description copied from class:SingleThreadEventExecutorRuns the task-processing loop untilSingleThreadEventExecutor.confirmShutdown()returnstrue.Implementations must not let a
Throwablethrown by a task escape this method: any uncaughtThrowableterminates the executor (logged atWARNand surfaced viaSingleThreadEventExecutor.terminationFuture()), at which point everyChannelregistered with this executor stops processing I/O and new task submissions are rejected. The supplied helpers -SingleThreadEventExecutor.runAllTasks(),SingleThreadEventExecutor.runAllTasks(long), andAbstractEventExecutor.safeExecute(Runnable)- catchThrowablefor you; custom loops built onSingleThreadEventExecutor.pollTask()orSingleThreadEventExecutor.takeTask()are responsible for wrapping each task invocation accordingly.- Specified by:
runin classSingleThreadEventExecutor
-