public abstract class AbstractNioChannel extends AbstractChannel
Channel implementations which use a Selector based approach.| Modifier and Type | Class and Description |
|---|---|
protected class |
AbstractNioChannel.AbstractNioUnsafe |
static interface |
AbstractNioChannel.NioUnsafe
Special
Unsafe sub-type which allows to access the underlying SelectableChannel |
AbstractChannel.AbstractUnsafeChannel.Unsafe| Modifier and Type | Field and Description |
|---|---|
protected int |
readInterestOp |
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractNioChannel(Channel parent,
java.nio.channels.SelectableChannel ch,
int readInterestOp)
Create a new instance
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
doBeginRead()
Schedule a read operation.
|
protected void |
doClose()
Close the
Channel |
protected abstract boolean |
doConnect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress)
Connect to the remote peer
|
protected void |
doDeregister()
|
protected abstract void |
doFinishConnect()
Finish the connect
|
protected void |
doRegister()
|
NioEventLoop |
eventLoop()
|
protected boolean |
isCompatible(EventLoop loop)
Return
true if the given EventLoop is compatible with this instance. |
protected boolean |
isInputShutdown()
Return
true if the input of this Channel is shutdown |
boolean |
isOpen()
Returns
true if the Channel is open and may get active later |
protected boolean |
isReadPending() |
protected java.nio.channels.SelectableChannel |
javaChannel() |
protected ByteBuf |
newDirectBuffer(ByteBuf buf)
Returns an off-heap copy of the specified
ByteBuf, and releases the original one. |
protected ByteBuf |
newDirectBuffer(ReferenceCounted holder,
ByteBuf buf)
Returns an off-heap copy of the specified
ByteBuf, and releases the specified holder. |
protected java.nio.channels.SelectionKey |
selectionKey()
Return the current
SelectionKey |
protected void |
setReadPending(boolean readPending) |
AbstractNioChannel.NioUnsafe |
unsafe()
Returns an internal-use-only object that provides unsafe operations.
|
alloc, bind, bind, close, close, closeFuture, compareTo, connect, connect, connect, connect, deregister, deregister, disconnect, disconnect, doBind, doDisconnect, doShutdownOutput, doWrite, equals, filterOutboundMessage, flush, hashCode, invalidateLocalAddress, invalidateRemoteAddress, isRegistered, isWritable, localAddress, localAddress0, newChannelPipeline, newFailedFuture, newProgressivePromise, newPromise, newSucceededFuture, newUnsafe, parent, pipeline, read, remoteAddress, remoteAddress0, toString, voidPromise, write, write, writeAndFlush, writeAndFlushattrclone, finalize, getClass, notify, notifyAll, wait, wait, waitattrprotected AbstractNioChannel(Channel parent, java.nio.channels.SelectableChannel ch, int readInterestOp)
parent - the parent Channel by which this instance was created. May be nullch - the underlying SelectableChannel on which it operatesreadInterestOp - the ops to set to receive data from the SelectableChannelpublic boolean isOpen()
Channeltrue if the Channel is open and may get active laterpublic AbstractNioChannel.NioUnsafe unsafe()
Channelunsafe in interface Channelunsafe in class AbstractChannelprotected java.nio.channels.SelectableChannel javaChannel()
public NioEventLoop eventLoop()
ChanneleventLoop in interface ChanneleventLoop in class AbstractChannelprotected java.nio.channels.SelectionKey selectionKey()
SelectionKeyprotected boolean isReadPending()
protected void setReadPending(boolean readPending)
protected boolean isInputShutdown()
true if the input of this Channel is shutdownprotected boolean isCompatible(EventLoop loop)
AbstractChanneltrue if the given EventLoop is compatible with this instance.isCompatible in class AbstractChannelprotected void doRegister()
throws java.lang.Exception
AbstractChannelChannel is registered with its EventLoop as part of the register process.
Sub-classes may override this methoddoRegister in class AbstractChanneljava.lang.Exceptionprotected void doDeregister()
throws java.lang.Exception
AbstractChanneldoDeregister in class AbstractChanneljava.lang.Exceptionprotected void doBeginRead()
throws java.lang.Exception
AbstractChanneldoBeginRead in class AbstractChanneljava.lang.Exceptionprotected abstract boolean doConnect(java.net.SocketAddress remoteAddress,
java.net.SocketAddress localAddress)
throws java.lang.Exception
java.lang.Exceptionprotected abstract void doFinishConnect()
throws java.lang.Exception
java.lang.Exceptionprotected final ByteBuf newDirectBuffer(ReferenceCounted holder, ByteBuf buf)
ByteBuf, and releases the specified holder.
The caller must ensure that the holder releases the original ByteBuf when the holder is released by
this method. Note that this method does not create an off-heap copy if the allocation / deallocation cost is
too high, but just returns the original ByteBuf..protected void doClose()
throws java.lang.Exception
AbstractChannelChanneldoClose in class AbstractChanneljava.lang.ExceptionCopyright © 2008–2018 The Netty Project. All rights reserved.