Class NioSocketChannel
java.lang.Object
org.jboss.netty.channel.AbstractChannel
org.jboss.netty.channel.socket.nio.AbstractNioChannel<SocketChannel>
org.jboss.netty.channel.socket.nio.NioSocketChannel
- All Implemented Interfaces:
Comparable<Channel>,Channel,SocketChannel
- Direct Known Subclasses:
NioAcceptedSocketChannel,NioClientSocketChannel
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jboss.netty.channel.socket.nio.AbstractNioChannel
AbstractNioChannel.WriteRequestQueue -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final NioSocketChannelConfigprivate static final intprivate static final intprivate static final intprivate static final int(package private) intFields inherited from class org.jboss.netty.channel.socket.nio.AbstractNioChannel
channel, currentWriteBuffer, currentWriteEvent, highWaterMarkCounter, inWriteNowLoop, remoteAddress, worker, writeBufferQueue, writeBufferSize, writeLock, writeSuspended, writeTask, writeTaskInTaskQueueFields inherited from interface org.jboss.netty.channel.Channel
OP_NONE, OP_READ, OP_READ_WRITE, OP_WRITE -
Constructor Summary
ConstructorsConstructorDescriptionNioSocketChannel(Channel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, SocketChannel socket, NioWorker worker) -
Method Summary
Modifier and TypeMethodDescriptionReturns the configuration of this channel.(package private) InetSocketAddress(package private) InetSocketAddressReturn theAbstractNioWorkerthat handle the IO of theAbstractNioChannelbooleanisBound()Returnstrueif and only if this channel is bound to a local address.booleanReturnstrueif and only if this channel is connected to a remote address.booleanisOpen()Returnstrueif and only if this channel is open.(package private) final voidsetBound()protected booleanMarks this channel as closed.(package private) final voidwrite(Object message, SocketAddress remoteAddress) Sends a message to this channel asynchronously.Methods inherited from class org.jboss.netty.channel.socket.nio.AbstractNioChannel
getInternalInterestOps, getLocalAddress, getRemoteAddress, setInternalInterestOpsMethods inherited from class org.jboss.netty.channel.AbstractChannel
bind, close, compareTo, connect, disconnect, equals, getAttachment, getCloseFuture, getFactory, getId, getInterestOps, getParent, getPipeline, getSucceededFuture, getUnsupportedOperationFuture, getUserDefinedWritability, hashCode, isReadable, isWritable, setAttachment, setInterestOps, setReadable, setUnwritable, setUserDefinedWritability, setWritable, toString, unbind, writeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.jboss.netty.channel.Channel
bind, close, connect, disconnect, getAttachment, getCloseFuture, getFactory, getId, getInterestOps, getParent, getPipeline, getUserDefinedWritability, isReadable, isWritable, setAttachment, setInterestOps, setReadable, setUserDefinedWritability, unbind, writeMethods inherited from interface java.lang.Comparable
compareToMethods inherited from interface org.jboss.netty.channel.socket.SocketChannel
getLocalAddress, getRemoteAddress
-
Field Details
-
ST_OPEN
private static final int ST_OPEN- See Also:
-
ST_BOUND
private static final int ST_BOUND- See Also:
-
ST_CONNECTED
private static final int ST_CONNECTED- See Also:
-
ST_CLOSED
private static final int ST_CLOSED- See Also:
-
state
volatile int state -
config
-
-
Constructor Details
-
NioSocketChannel
public NioSocketChannel(Channel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, SocketChannel socket, NioWorker worker)
-
-
Method Details
-
getWorker
Description copied from class:AbstractNioChannelReturn theAbstractNioWorkerthat handle the IO of theAbstractNioChannel- Overrides:
getWorkerin classAbstractNioChannel<SocketChannel>- Returns:
- worker
-
getConfig
Description copied from interface:ChannelReturns the configuration of this channel.- Specified by:
getConfigin interfaceChannel- Specified by:
getConfigin interfaceSocketChannel- Specified by:
getConfigin classAbstractNioChannel<SocketChannel>
-
isOpen
public boolean isOpen()Description copied from interface:ChannelReturnstrueif and only if this channel is open.- Specified by:
isOpenin interfaceChannel- Overrides:
isOpenin classAbstractChannel
-
isBound
public boolean isBound()Description copied from interface:ChannelReturnstrueif and only if this channel is bound to a local address. -
isConnected
public boolean isConnected()Description copied from interface:ChannelReturnstrueif and only if this channel is connected to a remote address.- Specified by:
isConnectedin interfaceChannel
-
setBound
final void setBound() -
setConnected
final void setConnected() -
setClosed
protected boolean setClosed()Description copied from class:AbstractChannelMarks this channel as closed. This method is intended to be called by an internal component - please do not call it unless you know what you are doing.- Overrides:
setClosedin classAbstractNioChannel<SocketChannel>- Returns:
trueif and only if this channel was not marked as closed yet
-
getLocalSocketAddress
- Specified by:
getLocalSocketAddressin classAbstractNioChannel<SocketChannel>- Throws:
Exception
-
getRemoteSocketAddress
- Specified by:
getRemoteSocketAddressin classAbstractNioChannel<SocketChannel>- Throws:
Exception
-
write
Description copied from interface:ChannelSends a message to this channel asynchronously. It has an additional parameter that allows a user to specify where to send the specified message instead of this channel's current remote address. If this channel was created by a connectionless transport (e.g.DatagramChannel) and is not connected yet, you must specify non-null address. Otherwise, the write request will fail withNotYetConnectedExceptionand an'exceptionCaught'event will be triggered.- Specified by:
writein interfaceChannel- Overrides:
writein classAbstractChannel- Parameters:
message- the message to writeremoteAddress- where to send the specified message. This method is identical toChannel.write(Object)ifnullis specified here.- Returns:
- the
ChannelFuturewhich will be notified when the write request succeeds or fails
-