public class ExecutorFilter extends IoFilterAdapter
Executor in
backport-util-concurrent.
You can apply various thread model by inserting this filter to the IoFilterChain.
Please note that this filter doesn't manage the life cycle of the underlying
Executor. You have to destroy or stop it by yourself.
| Modifier and Type | Class and Description |
|---|---|
protected static class |
ExecutorFilter.Event |
protected static class |
ExecutorFilter.EventType |
IoFilter.NextFilter, IoFilter.WriteRequest| Constructor and Description |
|---|
ExecutorFilter()
Creates a new instace with the default thread pool implementation
(new ThreadPoolExecutor(16, 16, 60, TimeUnit.SECONDS, new LinkedBlockingQueue() )).
|
ExecutorFilter(java.util.concurrent.Executor executor)
Creates a new instance with the specified executor.
|
destroy, init, onPostAdd, onPostRemove, onPreAdd, onPreRemovepublic ExecutorFilter()
public ExecutorFilter(java.util.concurrent.Executor executor)
public java.util.concurrent.Executor getExecutor()
Executor instance this filter uses.public void sessionCreated(IoFilter.NextFilter nextFilter, IoSession session)
IoFilterIoHandler.sessionCreated(IoSession) event.sessionCreated in interface IoFiltersessionCreated in class IoFilterAdapterpublic void sessionOpened(IoFilter.NextFilter nextFilter, IoSession session)
IoFilterIoHandler.sessionOpened(IoSession) event.sessionOpened in interface IoFiltersessionOpened in class IoFilterAdapterpublic void sessionClosed(IoFilter.NextFilter nextFilter, IoSession session)
IoFilterIoHandler.sessionClosed(IoSession) event.sessionClosed in interface IoFiltersessionClosed in class IoFilterAdapterpublic void sessionIdle(IoFilter.NextFilter nextFilter, IoSession session, IdleStatus status)
IoFilterIoHandler.sessionIdle(IoSession,IdleStatus)
event.sessionIdle in interface IoFiltersessionIdle in class IoFilterAdapterpublic void exceptionCaught(IoFilter.NextFilter nextFilter, IoSession session, java.lang.Throwable cause)
IoFilterIoHandler.exceptionCaught(IoSession,Throwable)
event.exceptionCaught in interface IoFilterexceptionCaught in class IoFilterAdapterpublic void messageReceived(IoFilter.NextFilter nextFilter, IoSession session, java.lang.Object message)
IoFilterIoHandler.messageReceived(IoSession,Object)
event.messageReceived in interface IoFiltermessageReceived in class IoFilterAdapterpublic void messageSent(IoFilter.NextFilter nextFilter, IoSession session, java.lang.Object message)
IoFilterIoHandler.messageSent(IoSession,Object)
event.messageSent in interface IoFiltermessageSent in class IoFilterAdapterprotected void processEvent(IoFilter.NextFilter nextFilter, IoSession session, ExecutorFilter.EventType type, java.lang.Object data)
public void filterWrite(IoFilter.NextFilter nextFilter, IoSession session, IoFilter.WriteRequest writeRequest)
IoFilterIoSession.write(Object) method invocation.filterWrite in interface IoFilterfilterWrite in class IoFilterAdapterpublic void filterClose(IoFilter.NextFilter nextFilter, IoSession session) throws java.lang.Exception
IoFilterIoSession.close() method invocation.filterClose in interface IoFilterfilterClose in class IoFilterAdapterjava.lang.Exception