Package com.google.code.yanf4j.nio.impl
Class NioController
- java.lang.Object
-
- com.google.code.yanf4j.core.impl.AbstractController
-
- com.google.code.yanf4j.nio.impl.NioController
-
- All Implemented Interfaces:
Controller,ControllerLifeCycle,SelectionKeyHandler
- Direct Known Subclasses:
SocketChannelController
public abstract class NioController extends AbstractController implements SelectionKeyHandler
Base nio controller
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classNioController.ReadTaskRead taskprivate classNioController.WriteTaskWrite task
-
Field Summary
Fields Modifier and Type Field Description protected SelectorManagerselectorManagerprotected intselectorPoolSizeReactor count-
Fields inherited from class com.google.code.yanf4j.core.impl.AbstractController
codecFactory, configuration, dispatchMessageDispatcher, dispatchMessageThreadCount, handler, handleReadWriteConcurrently, localSocketAddress, log, readEventDispatcher, readThreadCount, sessionSet, sessionTimeout, socketOptions, soTimeout, started, stateListeners, statistics, statisticsInterval, writeEventDispatcher, writeThreadCount
-
-
Constructor Summary
Constructors Constructor Description NioController()NioController(Configuration configuration)NioController(Configuration configuration, CodecFactory codecFactory)NioController(Configuration configuration, Handler handler, CodecFactory codecFactory)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidbind(int port)protected NioSessionConfigbuildSessionConfig(java.nio.channels.SelectableChannel sc, java.util.Queue<WriteMessage> queue)Build nio session configvoidcloseSelectionKey(java.nio.channels.SelectionKey key)Cancel selection keyprotected abstract voiddispatchReadEvent(java.nio.channels.SelectionKey key)Dispatch read eventprotected abstract voiddispatchWriteEvent(java.nio.channels.SelectionKey key)Dispatch write eventprotected abstract voiddoStart()Inner startupSelectorManagergetSelectorManager()intgetSelectorPoolSize()protected voidinitialSelectorManager()Start selector managervoidonRead(java.nio.channels.SelectionKey key)Read event occuredvoidonWrite(java.nio.channels.SelectionKey key)Writable event occuredvoidsetSelectorPoolSize(int selectorPoolSize)protected voidstart0()protected voidstop0()-
Methods inherited from class com.google.code.yanf4j.core.impl.AbstractController
addStateListener, bind, buildQueue, checkStatisticsForRestart, getCodecFactory, getConfiguration, getDispatchMessageThreadCount, getHandler, getLocalSocketAddress, getPort, getReadThreadCount, getReceiveThroughputLimit, getSendThroughputLimit, getSessionIdleTimeout, getSessionSet, getSessionTimeout, getSocketOption, getSoTimeout, getStatistics, getWriteThreadCount, isHandleReadWriteConcurrently, isStarted, notifyAllSessionClosed, notifyException, notifyReady, notifyStarted, notifyStopped, onAccept, onConnect, registerSession, removeStateListener, setCodecFactory, setConfiguration, setDispatchMessageThreadCount, setHandler, setHandleReadWriteConcurrently, setLocalSocketAddress, setReadThreadCount, setReceiveThroughputLimit, setSendThroughputLimit, setSessionIdleTimeout, setSessionTimeout, setSocketOption, setSocketOptions, setSoTimeout, setWriteThreadCount, start, stop, unregisterSession
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.google.code.yanf4j.nio.SelectionKeyHandler
closeChannel, onAccept, onConnect
-
-
-
-
Field Detail
-
selectorManager
protected SelectorManager selectorManager
-
selectorPoolSize
protected int selectorPoolSize
Reactor count
-
-
Constructor Detail
-
NioController
public NioController()
-
NioController
public NioController(Configuration configuration, CodecFactory codecFactory)
-
NioController
public NioController(Configuration configuration, Handler handler, CodecFactory codecFactory)
-
NioController
public NioController(Configuration configuration)
-
-
Method Detail
-
getSelectorPoolSize
public int getSelectorPoolSize()
- Returns:
- See Also:
setSelectorPoolSize(int)
-
setSelectorPoolSize
public void setSelectorPoolSize(int selectorPoolSize)
-
getSelectorManager
public final SelectorManager getSelectorManager()
-
start0
protected void start0() throws java.io.IOException- Specified by:
start0in classAbstractController- Throws:
java.io.IOException
-
initialSelectorManager
protected void initialSelectorManager() throws java.io.IOExceptionStart selector manager- Throws:
java.io.IOException
-
doStart
protected abstract void doStart() throws java.io.IOExceptionInner startup- Throws:
java.io.IOException
-
onRead
public void onRead(java.nio.channels.SelectionKey key)
Read event occured- Specified by:
onReadin interfaceSelectionKeyHandler
-
onWrite
public void onWrite(java.nio.channels.SelectionKey key)
Writable event occured- Specified by:
onWritein interfaceSelectionKeyHandler
-
closeSelectionKey
public void closeSelectionKey(java.nio.channels.SelectionKey key)
Cancel selection key- Specified by:
closeSelectionKeyin interfaceSelectionKeyHandler
-
dispatchReadEvent
protected abstract void dispatchReadEvent(java.nio.channels.SelectionKey key)
Dispatch read event- Parameters:
key-
-
dispatchWriteEvent
protected abstract void dispatchWriteEvent(java.nio.channels.SelectionKey key)
Dispatch write event- Parameters:
key-
-
stop0
protected void stop0() throws java.io.IOException- Specified by:
stop0in classAbstractController- Throws:
java.io.IOException
-
bind
public void bind(int port) throws java.io.IOException- Throws:
java.io.IOException
-
buildSessionConfig
protected final NioSessionConfig buildSessionConfig(java.nio.channels.SelectableChannel sc, java.util.Queue<WriteMessage> queue)
Build nio session config- Parameters:
sc-queue-- Returns:
-
-