Class AbstractOioChannel
- java.lang.Object
-
- org.jboss.netty.channel.AbstractChannel
-
- org.jboss.netty.channel.socket.oio.AbstractOioChannel
-
- Direct Known Subclasses:
OioDatagramChannel
,OioSocketChannel
abstract class AbstractOioChannel extends AbstractChannel
-
-
Field Summary
Fields Modifier and Type Field Description (package private) java.lang.Object
interestOpsLock
private java.net.InetSocketAddress
localAddress
(package private) java.net.InetSocketAddress
remoteAddress
(package private) Worker
worker
(package private) java.lang.Thread
workerThread
-
Fields inherited from interface org.jboss.netty.channel.Channel
OP_NONE, OP_READ, OP_READ_WRITE, OP_WRITE
-
-
Constructor Summary
Constructors Constructor Description AbstractOioChannel(Channel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) abstract void
closeSocket()
protected int
getInternalInterestOps()
java.net.InetSocketAddress
getLocalAddress()
Returns the local address where this channel is bound to.(package private) abstract java.net.InetSocketAddress
getLocalSocketAddress()
java.net.InetSocketAddress
getRemoteAddress()
Returns the remote address where this channel is connected to.(package private) abstract java.net.InetSocketAddress
getRemoteSocketAddress()
boolean
isBound()
Returnstrue
if and only if this channel is bound to a local address.boolean
isConnected()
Returnstrue
if and only if this channel is connected to a remote address.(package private) abstract boolean
isSocketBound()
(package private) abstract boolean
isSocketClosed()
(package private) abstract boolean
isSocketConnected()
protected boolean
setClosed()
Marks this channel as closed.protected void
setInternalInterestOps(int interestOps)
Sets theinterestOps
property of this channel immediately.ChannelFuture
write(java.lang.Object message, java.net.SocketAddress remoteAddress)
Sends a message to this channel asynchronously.-
Methods 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, isOpen, isReadable, isWritable, setAttachment, setInterestOps, setReadable, setUnwritable, setUserDefinedWritability, setWritable, toString, unbind, write
-
-
-
-
Field Detail
-
localAddress
private volatile java.net.InetSocketAddress localAddress
-
remoteAddress
volatile java.net.InetSocketAddress remoteAddress
-
workerThread
volatile java.lang.Thread workerThread
-
worker
volatile Worker worker
-
interestOpsLock
final java.lang.Object interestOpsLock
-
-
Constructor Detail
-
AbstractOioChannel
AbstractOioChannel(Channel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink)
-
-
Method Detail
-
setClosed
protected boolean setClosed()
Description copied from class:AbstractChannel
Marks 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:
setClosed
in classAbstractChannel
- Returns:
true
if and only if this channel was not marked as closed yet
-
getInternalInterestOps
protected int getInternalInterestOps()
- Overrides:
getInternalInterestOps
in classAbstractChannel
-
setInternalInterestOps
protected void setInternalInterestOps(int interestOps)
Description copied from class:AbstractChannel
Sets theinterestOps
property of this channel immediately. This method is intended to be called by an internal component - please do not call it unless you know what you are doing.- Overrides:
setInternalInterestOps
in classAbstractChannel
-
write
public ChannelFuture write(java.lang.Object message, java.net.SocketAddress remoteAddress)
Description copied from interface:Channel
Sends 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 withNotYetConnectedException
and an'exceptionCaught'
event will be triggered.- Specified by:
write
in interfaceChannel
- Overrides:
write
in classAbstractChannel
- Parameters:
message
- the message to writeremoteAddress
- where to send the specified message. This method is identical toChannel.write(Object)
ifnull
is specified here.- Returns:
- the
ChannelFuture
which will be notified when the write request succeeds or fails
-
isBound
public boolean isBound()
Description copied from interface:Channel
Returnstrue
if and only if this channel is bound to a local address.
-
isConnected
public boolean isConnected()
Description copied from interface:Channel
Returnstrue
if and only if this channel is connected to a remote address.
-
getLocalAddress
public java.net.InetSocketAddress getLocalAddress()
Description copied from interface:Channel
Returns the local address where this channel is bound to. The returnedSocketAddress
is supposed to be down-cast into more concrete type such asInetSocketAddress
to retrieve the detailed information.- Returns:
- the local address of this channel.
null
if this channel is not bound.
-
getRemoteAddress
public java.net.InetSocketAddress getRemoteAddress()
Description copied from interface:Channel
Returns the remote address where this channel is connected to. The returnedSocketAddress
is supposed to be down-cast into more concrete type such asInetSocketAddress
to retrieve the detailed information.- Returns:
- the remote address of this channel.
null
if this channel is not connected. If this channel is not connected but it can receive messages from arbitrary remote addresses (e.g.DatagramChannel
, useMessageEvent.getRemoteAddress()
to determine the origination of the received message as this method will returnnull
.
-
isSocketBound
abstract boolean isSocketBound()
-
isSocketConnected
abstract boolean isSocketConnected()
-
isSocketClosed
abstract boolean isSocketClosed()
-
getLocalSocketAddress
abstract java.net.InetSocketAddress getLocalSocketAddress() throws java.lang.Exception
- Throws:
java.lang.Exception
-
getRemoteSocketAddress
abstract java.net.InetSocketAddress getRemoteSocketAddress() throws java.lang.Exception
- Throws:
java.lang.Exception
-
closeSocket
abstract void closeSocket() throws java.io.IOException
- Throws:
java.io.IOException
-
-