Class NIOTcpMultiplexer
- java.lang.Object
-
- net.timewalker.ffmq4.transport.tcp.nio.NIOTcpMultiplexer
-
public final class NIOTcpMultiplexer extends Object
NIOTcpMultiplexer
-
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,NIOClientSocketHandler>clientHandlersprotected static org.apache.commons.logging.Loglogprotected List<NIOServerSocketHandler>pendingAcceptHandlersprotected Selectorselectorprotected List<NIOServerSocketHandler>serverHandlersprotected intsocketRecvBufferSizeprotected intsocketSendBufferSize
-
Constructor Summary
Constructors Constructor Description NIOTcpMultiplexer(Settings settings, boolean client)Constructor (private)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanacceptClient(NIOServerSocketHandler serverHandler, SocketChannel socketChannel)protected voidaddInterest(AbstractSelectableChannel channel, int interest, Object attachment, Selector selector)protected voiddropClientHandler(NIOClientSocketHandler clientHandler, Selector selector, boolean linkFailed)protected booleanfinalizeConnect(NIOClientSocketHandler clientHandler, SocketChannel channel, Selector selector)protected voidonSelectExit()protected booleanreadAndProcessChannelData(NIOClientSocketHandler clientHandler)voidregisterClientSocketHandler(NIOClientSocketHandler clientHandler)Register a new client socket handlervoidregisterServerSocketHandler(NIOServerSocketHandler serverHandler)Register a new server socket handlervoidstop()Stop the multiplexervoidunregisterClientSocketHandler(NIOClientSocketHandler clientHandler)voidunregisterServerSocketHandler(NIOServerSocketHandler serverHandler)Unregister a new server socket handlerprotected voidupdateConnectInterest(NIOClientSocketHandler clientHandler, Selector selector)protected voidupdateReadInterest(NIOClientSocketHandler clientHandler, Selector selector)protected voidupdateWriteInterest(NIOClientSocketHandler clientHandler, Selector selector)voidwakeUp()Wake up the multiplexer so it has a chance to update read/write interestsprotected booleanwriteAndProcessChannelData(NIOClientSocketHandler clientHandler)
-
-
-
Field Detail
-
log
protected static final org.apache.commons.logging.Log log
-
selector
protected Selector selector
-
socketSendBufferSize
protected int socketSendBufferSize
-
socketRecvBufferSize
protected int socketRecvBufferSize
-
pendingAcceptHandlers
protected List<NIOServerSocketHandler> pendingAcceptHandlers
-
serverHandlers
protected List<NIOServerSocketHandler> serverHandlers
-
clientHandlers
protected Map<String,NIOClientSocketHandler> clientHandlers
-
-
Constructor Detail
-
NIOTcpMultiplexer
public NIOTcpMultiplexer(Settings settings, boolean client) throws PacketTransportException
Constructor (private)- Throws:
PacketTransportException
-
-
Method Detail
-
onSelectExit
protected void onSelectExit()
-
wakeUp
public void wakeUp()
Wake up the multiplexer so it has a chance to update read/write interests
-
registerServerSocketHandler
public void registerServerSocketHandler(NIOServerSocketHandler serverHandler)
Register a new server socket handler
-
registerClientSocketHandler
public void registerClientSocketHandler(NIOClientSocketHandler clientHandler)
Register a new client socket handler
-
unregisterServerSocketHandler
public void unregisterServerSocketHandler(NIOServerSocketHandler serverHandler)
Unregister a new server socket handler
-
unregisterClientSocketHandler
public void unregisterClientSocketHandler(NIOClientSocketHandler clientHandler)
-
dropClientHandler
protected void dropClientHandler(NIOClientSocketHandler clientHandler, Selector selector, boolean linkFailed)
-
acceptClient
protected boolean acceptClient(NIOServerSocketHandler serverHandler, SocketChannel socketChannel)
-
readAndProcessChannelData
protected boolean readAndProcessChannelData(NIOClientSocketHandler clientHandler)
-
writeAndProcessChannelData
protected boolean writeAndProcessChannelData(NIOClientSocketHandler clientHandler)
-
updateConnectInterest
protected void updateConnectInterest(NIOClientSocketHandler clientHandler, Selector selector)
-
updateReadInterest
protected void updateReadInterest(NIOClientSocketHandler clientHandler, Selector selector)
-
updateWriteInterest
protected void updateWriteInterest(NIOClientSocketHandler clientHandler, Selector selector)
-
addInterest
protected void addInterest(AbstractSelectableChannel channel, int interest, Object attachment, Selector selector)
-
finalizeConnect
protected boolean finalizeConnect(NIOClientSocketHandler clientHandler, SocketChannel channel, Selector selector)
-
stop
public void stop()
Stop the multiplexer
-
-