public class NioReceiver extends ReceiverBase implements java.lang.Runnable
Modifier and Type | Field and Description |
---|---|
protected java.util.Deque<java.lang.Runnable> |
events |
protected long |
lastCheck |
protected static StringManager |
sm
The string manager for this package.
|
OPTION_DIRECT_BUFFER
MAX_UDP_SIZE
Constructor and Description |
---|
NioReceiver() |
Modifier and Type | Method and Description |
---|---|
void |
addEvent(java.lang.Runnable event) |
protected void |
bind() |
static void |
cancelledKey(java.nio.channels.SelectionKey key) |
AbstractRxTask |
createRxTask() |
void |
events() |
protected void |
listen()
get data from channel and store in byte array
send it to cluster
|
protected void |
readDataFromSocket(java.nio.channels.SelectionKey key)
Sample data handler method for a channel with data ready to read.
|
protected void |
registerChannel(java.nio.channels.Selector selector,
java.nio.channels.SelectableChannel channel,
int ops,
java.lang.Object attach)
Register the given channel with the given selector for
the given operations of interest
|
void |
run()
Start thread and listen
|
protected void |
socketTimeouts() |
void |
start()
Start cluster receiver.
|
void |
stop()
Stop listening for messages
|
protected void |
stopListening()
Close Selector.
|
bind, bindUdp, doListen, getAddress, getAutoBind, getBind, getChannel, getDirect, getExecutor, getHost, getListener, getMaxIdleTime, getMaxTasks, getMaxThreads, getMessageListener, getMinTasks, getMinThreads, getOoBInline, getPort, getRxBufSize, getSecurePort, getSelectorTimeout, getSoKeepAlive, getSoLingerOn, getSoLingerTime, getSoReuseAddress, getSoTrafficClass, getTaskPool, getTcpNoDelay, getTimeout, getTxBufSize, getUdpPort, getUdpRxBufSize, getUdpTxBufSize, getUseBufferPool, getWorkerThreadOptions, heartbeat, isDaemon, isListening, messageDataReceived, setAddress, setAutoBind, setBind, setChannel, setDaemon, setDirect, setExecutor, setHost, setListen, setListener, setMaxIdleTime, setMaxTasks, setMaxThreads, setMessageListener, setMinTasks, setMinThreads, setOoBInline, setPool, setPort, setRxBufSize, setSecurePort, setSelectorTimeout, setSoKeepAlive, setSoLingerOn, setSoLingerTime, setSoReuseAddress, setSoTrafficClass, setTcpNoDelay, setTimeout, setTxBufSize, setUdpPort, setUdpRxBufSize, setUdpTxBufSize, setUseBufferPool
protected static final StringManager sm
protected final java.util.Deque<java.lang.Runnable> events
protected long lastCheck
public void stop()
ChannelReceiver
stop
in interface ChannelReceiver
stop
in class ReceiverBase
public void start() throws java.io.IOException
start
in interface ChannelReceiver
start
in class ReceiverBase
java.io.IOException
- If the receiver fails to startChannelReceiver.start()
public AbstractRxTask createRxTask()
createRxTask
in interface RxTaskPool.TaskCreator
protected void bind() throws java.io.IOException
java.io.IOException
public void addEvent(java.lang.Runnable event)
public void events()
public static void cancelledKey(java.nio.channels.SelectionKey key)
protected void socketTimeouts()
protected void listen() throws java.lang.Exception
java.io.IOException
java.nio.channels.ClosedChannelException
java.lang.Exception
protected void stopListening()
ReceiverBase.stop()
protected void registerChannel(java.nio.channels.Selector selector, java.nio.channels.SelectableChannel channel, int ops, java.lang.Object attach) throws java.lang.Exception
java.lang.Exception
public void run()
run
in interface java.lang.Runnable
protected void readDataFromSocket(java.nio.channels.SelectionKey key) throws java.lang.Exception
key
- A SelectionKey object associated with a channel
determined by the selector to be ready for reading. If the
channel returns an EOF condition, it is closed here, which
automatically invalidates the associated key. The selector
will then de-register the channel on the next select call.java.lang.Exception
Copyright © 2000-2018 Apache Software Foundation. All Rights Reserved.