Package io.netty.channel.epoll
Class EpollEventLoopGroup
- java.lang.Object
-
- io.netty.util.concurrent.AbstractEventExecutorGroup
-
- io.netty.util.concurrent.MultithreadEventExecutorGroup
-
- io.netty.channel.MultithreadEventLoopGroup
-
- io.netty.channel.epoll.EpollEventLoopGroup
-
- All Implemented Interfaces:
EventLoopGroup
,EventExecutorGroup
,Iterable<EventExecutor>
,Executor
,ExecutorService
,ScheduledExecutorService
public final class EpollEventLoopGroup extends MultithreadEventLoopGroup
EventLoopGroup
which uses epoll under the covers. Because of this it only works on linux.
-
-
Constructor Summary
Constructors Constructor Description EpollEventLoopGroup()
Create a new instance using the default number of threads and the defaultThreadFactory
.EpollEventLoopGroup(int nThreads)
Create a new instance using the specified number of threads and the defaultThreadFactory
.EpollEventLoopGroup(int nThreads, SelectStrategyFactory selectStrategyFactory)
Create a new instance using the specified number of threads and the defaultThreadFactory
.EpollEventLoopGroup(int nThreads, Executor executor)
EpollEventLoopGroup(int nThreads, Executor executor, SelectStrategyFactory selectStrategyFactory)
EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory)
EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory, RejectedExecutionHandler rejectedExecutionHandler)
EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory, RejectedExecutionHandler rejectedExecutionHandler, EventLoopTaskQueueFactory queueFactory)
EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory, RejectedExecutionHandler rejectedExecutionHandler, EventLoopTaskQueueFactory taskQueueFactory, EventLoopTaskQueueFactory tailTaskQueueFactory)
EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory)
Create a new instance using the specified number of threads and the givenThreadFactory
.EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory, int maxEventsAtOnce)
Deprecated.EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory, int maxEventsAtOnce, SelectStrategyFactory selectStrategyFactory)
EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory, SelectStrategyFactory selectStrategyFactory)
Create a new instance using the specified number of threads and the givenThreadFactory
.EpollEventLoopGroup(ThreadFactory threadFactory)
Create a new instance using the default number of threads and the givenThreadFactory
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected EventLoop
newChild(Executor executor, Object... args)
Create a new EventExecutor which will later then accessible via theMultithreadEventExecutorGroup.next()
method.void
setIoRatio(int ioRatio)
Sets the percentage of the desired amount of time spent for I/O in the child event loops.-
Methods inherited from class io.netty.channel.MultithreadEventLoopGroup
newDefaultThreadFactory, next, register, register, register
-
Methods inherited from class io.netty.util.concurrent.MultithreadEventExecutorGroup
awaitTermination, executorCount, isShutdown, isShuttingDown, isTerminated, iterator, shutdown, shutdownGracefully, terminationFuture
-
Methods inherited from class io.netty.util.concurrent.AbstractEventExecutorGroup
execute, invokeAll, invokeAll, invokeAny, invokeAny, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, shutdownGracefully, shutdownNow, submit, submit, submit
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.netty.util.concurrent.EventExecutorGroup
isShuttingDown, iterator, schedule, schedule, scheduleAtFixedRate, scheduleWithFixedDelay, shutdown, shutdownGracefully, shutdownGracefully, shutdownNow, submit, submit, submit, terminationFuture
-
Methods inherited from interface java.util.concurrent.ExecutorService
awaitTermination, invokeAll, invokeAll, invokeAny, invokeAny, isShutdown, isTerminated
-
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
-
-
-
Constructor Detail
-
EpollEventLoopGroup
public EpollEventLoopGroup()
Create a new instance using the default number of threads and the defaultThreadFactory
.
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads)
Create a new instance using the specified number of threads and the defaultThreadFactory
.
-
EpollEventLoopGroup
public EpollEventLoopGroup(ThreadFactory threadFactory)
Create a new instance using the default number of threads and the givenThreadFactory
.
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, SelectStrategyFactory selectStrategyFactory)
Create a new instance using the specified number of threads and the defaultThreadFactory
.
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory)
Create a new instance using the specified number of threads and the givenThreadFactory
.
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, Executor executor)
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory, SelectStrategyFactory selectStrategyFactory)
Create a new instance using the specified number of threads and the givenThreadFactory
.
-
EpollEventLoopGroup
@Deprecated public EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory, int maxEventsAtOnce)
Deprecated.Create a new instance using the specified number of threads, the givenThreadFactory
and the given maximal amount of epoll events to handle per epollWait(...).
-
EpollEventLoopGroup
@Deprecated public EpollEventLoopGroup(int nThreads, ThreadFactory threadFactory, int maxEventsAtOnce, SelectStrategyFactory selectStrategyFactory)
Deprecated.Create a new instance using the specified number of threads, the givenThreadFactory
and the given maximal amount of epoll events to handle per epollWait(...).
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, Executor executor, SelectStrategyFactory selectStrategyFactory)
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory)
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory, RejectedExecutionHandler rejectedExecutionHandler)
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory, RejectedExecutionHandler rejectedExecutionHandler, EventLoopTaskQueueFactory queueFactory)
-
EpollEventLoopGroup
public EpollEventLoopGroup(int nThreads, Executor executor, EventExecutorChooserFactory chooserFactory, SelectStrategyFactory selectStrategyFactory, RejectedExecutionHandler rejectedExecutionHandler, EventLoopTaskQueueFactory taskQueueFactory, EventLoopTaskQueueFactory tailTaskQueueFactory)
- Parameters:
nThreads
- the number of threads that will be used by this instance.executor
- the Executor to use, ornull
if default one should be used.chooserFactory
- theEventExecutorChooserFactory
to use.selectStrategyFactory
- theSelectStrategyFactory
to use.rejectedExecutionHandler
- theRejectedExecutionHandler
to use.taskQueueFactory
- theEventLoopTaskQueueFactory
to use forSingleThreadEventExecutor.execute(Runnable)
, ornull
if default one should be used.tailTaskQueueFactory
- theEventLoopTaskQueueFactory
to use forSingleThreadEventLoop.executeAfterEventLoopIteration(Runnable)
, ornull
if default one should be used.
-
-
Method Detail
-
setIoRatio
public void setIoRatio(int ioRatio)
Sets the percentage of the desired amount of time spent for I/O in the child event loops. The default value is50
, which means the event loop will try to spend the same amount of time for I/O as for non-I/O tasks.
-
newChild
protected EventLoop newChild(Executor executor, Object... args) throws Exception
Description copied from class:MultithreadEventExecutorGroup
Create a new EventExecutor which will later then accessible via theMultithreadEventExecutorGroup.next()
method. This method will be called for each thread that will serve thisMultithreadEventExecutorGroup
.- Specified by:
newChild
in classMultithreadEventLoopGroup
- Throws:
Exception
-
-