Class NioDatagramWorker
- java.lang.Object
-
- org.jboss.netty.channel.socket.nio.NioDatagramWorker
-
- All Implemented Interfaces:
Runnable,NioSelector,Worker
public class NioDatagramWorker extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected static InternalLoggerloggerInternal Netty logger.protected SelectorselectorThe NIOSelector.protected org.jboss.netty.channel.socket.nio.SocketSendBufferPoolsendBufferPoolprotected ThreadthreadIf this worker has been started thread will be a reference to the thread used when starting.protected AtomicBooleanwakenUpBoolean that controls determines if a blocked Selector.select should break out of its selection process.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancleanUpCancelledKeys()protected static voidcleanUpWriteBuffer(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)protected voidclearOpWrite(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)protected voidclose(SelectionKey k)protected voidclose(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel, ChannelFuture future)protected RunnablecreateRegisterTask(Channel channel, ChannelFuture future)voidexecuteInIoThread(Runnable task)Execute the givenRunnablein the IO-Thread.voidexecuteInIoThread(Runnable task, boolean alwaysAsync)Execute theRunnablein a IO-Threadprotected voidincreaseCancelledKeys()protected booleanisIoThread()protected ThreadRenamingRunnablenewThreadRenamingRunnable(int id, ThreadNameDeterminer determiner)protected voidprocess(Selector selector)protected booleanread(SelectionKey key)Read is called when a Selector has been notified that the underlying channel was something to be read.voidrebuildSelector()voidregister(Channel channel, ChannelFuture future)protected voidregisterTask(Runnable task)voidrun()protected booleanscheduleWriteIfNecessary(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)protected intselect(Selector selector)protected voidsetOpWrite(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)voidshutdown()protected voidwrite0(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)voidwriteFromUserCode(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)
-
-
-
Field Detail
-
sendBufferPool
protected final org.jboss.netty.channel.socket.nio.SocketSendBufferPool sendBufferPool
-
logger
protected static final InternalLogger logger
Internal Netty logger.
-
thread
protected volatile Thread thread
If this worker has been started thread will be a reference to the thread used when starting. i.e. the current thread when the run method is executed.
-
wakenUp
protected final AtomicBoolean wakenUp
Boolean that controls determines if a blocked Selector.select should break out of its selection process. In our case we use a timeone for the select method and the select method will block for that time unless waken up.
-
-
Method Detail
-
read
protected boolean read(SelectionKey key)
Read is called when a Selector has been notified that the underlying channel was something to be read. The channel would previously have registered its interest in read operations.- Parameters:
key- The selection key which contains the Selector registration information.
-
scheduleWriteIfNecessary
protected boolean scheduleWriteIfNecessary(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)
-
createRegisterTask
protected Runnable createRegisterTask(Channel channel, ChannelFuture future)
-
writeFromUserCode
public void writeFromUserCode(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)
-
write0
protected void write0(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)
-
executeInIoThread
public void executeInIoThread(Runnable task)
Description copied from interface:WorkerExecute the givenRunnablein the IO-Thread. This may be now or later once the IO-Thread do some other work.- Specified by:
executeInIoThreadin interfaceWorker- Parameters:
task- theRunnableto execute
-
executeInIoThread
public void executeInIoThread(Runnable task, boolean alwaysAsync)
Execute theRunnablein a IO-Thread
-
close
protected void close(SelectionKey k)
-
newThreadRenamingRunnable
protected ThreadRenamingRunnable newThreadRenamingRunnable(int id, ThreadNameDeterminer determiner)
-
process
protected void process(Selector selector) throws IOException
- Throws:
IOException
-
setOpWrite
protected void setOpWrite(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)
-
clearOpWrite
protected void clearOpWrite(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)
-
close
protected void close(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel, ChannelFuture future)
-
cleanUpWriteBuffer
protected static void cleanUpWriteBuffer(org.jboss.netty.channel.socket.nio.AbstractNioChannel<?> channel)
-
register
public void register(Channel channel, ChannelFuture future)
- Specified by:
registerin interfaceNioSelector
-
registerTask
protected final void registerTask(Runnable task)
-
isIoThread
protected final boolean isIoThread()
-
rebuildSelector
public void rebuildSelector()
Description copied from interface:NioSelector- Specified by:
rebuildSelectorin interfaceNioSelector
-
increaseCancelledKeys
protected final void increaseCancelledKeys()
-
cleanUpCancelledKeys
protected final boolean cleanUpCancelledKeys() throws IOException- Throws:
IOException
-
shutdown
public void shutdown()
- Specified by:
shutdownin interfaceNioSelector
-
select
protected int select(Selector selector) throws IOException
- Throws:
IOException
-
-