public class DefaultEventLoopGroupProvider extends Object implements EventLoopGroupProvider
Modifier and Type | Field and Description |
---|---|
protected static io.netty.util.internal.logging.InternalLogger |
logger |
Constructor and Description |
---|
DefaultEventLoopGroupProvider(int numberOfThreads)
Creates a new instance of
DefaultEventLoopGroupProvider . |
Modifier and Type | Method and Description |
---|---|
<T extends EventLoopGroup> |
allocate(Class<T> type)
|
static <T extends EventExecutorGroup> |
createEventLoopGroup(Class<T> type,
int numberOfThreads)
Create an instance of a
EventExecutorGroup . |
Promise<Boolean> |
release(EventExecutorGroup eventLoopGroup,
long quietPeriod,
long timeout,
TimeUnit unit)
Release a
eventLoopGroup instance. |
Future<Boolean> |
shutdown(long quietPeriod,
long timeout,
TimeUnit timeUnit)
Shutdown the provider and release all instances.
|
int |
threadPoolSize()
Returns the pool size (number of threads) for IO threads.
|
protected static final io.netty.util.internal.logging.InternalLogger logger
public DefaultEventLoopGroupProvider(int numberOfThreads)
DefaultEventLoopGroupProvider
.numberOfThreads
- number of threads (pool size)public <T extends EventLoopGroup> T allocate(Class<T> type)
EventLoopGroupProvider
EventLoopGroup
for the channel
type
. Do not terminate or shutdown the
instance. Call the EventLoopGroupProvider.release(EventExecutorGroup, long, long, TimeUnit)
to release an individual instance or
EventLoopGroupProvider.shutdown(long, long, TimeUnit)
method to free the all resources.allocate
in interface EventLoopGroupProvider
T
- type of the EventLoopGroup
type
- class of the EventLoopGroup
, must not be nullEventLoopGroup
.public static <T extends EventExecutorGroup> EventExecutorGroup createEventLoopGroup(Class<T> type, int numberOfThreads)
EventExecutorGroup
. Supported types are:
T
- type parametertype
- the typenumberOfThreads
- the number of threads to use for the EventExecutorGroup
EventExecutorGroup
IllegalArgumentException
- if the type
is not supported.public Promise<Boolean> release(EventExecutorGroup eventLoopGroup, long quietPeriod, long timeout, TimeUnit unit)
EventLoopGroupProvider
eventLoopGroup
instance. The method will shutdown/terminate the EventExecutorGroup
if it is no longer
needed.release
in interface EventLoopGroupProvider
eventLoopGroup
- the eventLoopGroup instance, must not be nullquietPeriod
- the quiet periodtimeout
- the timeoutunit
- time unit for the quiet period/the timeoutpublic int threadPoolSize()
EventLoopGroupProvider
threadPoolSize
in interface EventLoopGroupProvider
public Future<Boolean> shutdown(long quietPeriod, long timeout, TimeUnit timeUnit)
EventLoopGroupProvider
shutdown
in interface EventLoopGroupProvider
quietPeriod
- the quiet periodtimeout
- the timeouttimeUnit
- the unit of quietPeriod
and timeout
Copyright © 2017 lettuce.io. All rights reserved.