Package org.jboss.netty.channel.local
Class DefaultLocalChannel
- java.lang.Object
-
- org.jboss.netty.channel.AbstractChannel
-
- org.jboss.netty.channel.local.DefaultLocalChannel
-
- All Implemented Interfaces:
java.lang.Comparable<Channel>
,Channel
,LocalChannel
final class DefaultLocalChannel extends AbstractChannel implements LocalChannel
-
-
Field Summary
Fields Modifier and Type Field Description private ChannelConfig
config
private ThreadLocalBoolean
delivering
(package private) LocalAddress
localAddress
(package private) DefaultLocalChannel
pairedChannel
(package private) LocalAddress
remoteAddress
private static int
ST_BOUND
private static int
ST_CLOSED
private static int
ST_CONNECTED
private static int
ST_OPEN
(package private) java.util.concurrent.atomic.AtomicInteger
state
(package private) java.util.Queue<MessageEvent>
writeBuffer
-
Fields inherited from interface org.jboss.netty.channel.Channel
OP_NONE, OP_READ, OP_READ_WRITE, OP_WRITE
-
-
Constructor Summary
Constructors Constructor Description DefaultLocalChannel(LocalServerChannel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, DefaultLocalChannel pairedChannel)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) void
closeNow(ChannelFuture future)
(package private) void
flushWriteBuffer()
ChannelConfig
getConfig()
Returns the configuration of this channel.LocalAddress
getLocalAddress()
Returns the local address where this channel is bound to.LocalAddress
getRemoteAddress()
Returns the remote address where this channel is connected to.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.boolean
isOpen()
Returnstrue
if and only if this channel is open.(package private) void
setBound()
protected boolean
setClosed()
Marks this channel as closed.(package private) void
setConnected()
-
Methods inherited from class org.jboss.netty.channel.AbstractChannel
bind, close, compareTo, connect, disconnect, equals, getAttachment, getCloseFuture, getFactory, getId, getInterestOps, getInternalInterestOps, getParent, getPipeline, getSucceededFuture, getUnsupportedOperationFuture, getUserDefinedWritability, hashCode, isReadable, isWritable, setAttachment, setInterestOps, setInternalInterestOps, setReadable, setUnwritable, setUserDefinedWritability, setWritable, toString, unbind, write, write
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods 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, write, write
-
-
-
-
Field Detail
-
ST_OPEN
private static final int ST_OPEN
- See Also:
- Constant Field Values
-
ST_BOUND
private static final int ST_BOUND
- See Also:
- Constant Field Values
-
ST_CONNECTED
private static final int ST_CONNECTED
- See Also:
- Constant Field Values
-
ST_CLOSED
private static final int ST_CLOSED
- See Also:
- Constant Field Values
-
state
final java.util.concurrent.atomic.AtomicInteger state
-
config
private final ChannelConfig config
-
delivering
private final ThreadLocalBoolean delivering
-
writeBuffer
final java.util.Queue<MessageEvent> writeBuffer
-
pairedChannel
volatile DefaultLocalChannel pairedChannel
-
localAddress
volatile LocalAddress localAddress
-
remoteAddress
volatile LocalAddress remoteAddress
-
-
Constructor Detail
-
DefaultLocalChannel
DefaultLocalChannel(LocalServerChannel parent, ChannelFactory factory, ChannelPipeline pipeline, ChannelSink sink, DefaultLocalChannel pairedChannel)
-
-
Method Detail
-
getConfig
public ChannelConfig getConfig()
Description copied from interface:Channel
Returns the configuration of this channel.
-
isOpen
public boolean isOpen()
Description copied from interface:Channel
Returnstrue
if and only if this channel is open.- Specified by:
isOpen
in interfaceChannel
- Overrides:
isOpen
in classAbstractChannel
-
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.- Specified by:
isConnected
in interfaceChannel
-
setBound
void setBound() throws java.nio.channels.ClosedChannelException
- Throws:
java.nio.channels.ClosedChannelException
-
setConnected
void setConnected()
-
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
-
getLocalAddress
public LocalAddress 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.- Specified by:
getLocalAddress
in interfaceChannel
- Specified by:
getLocalAddress
in interfaceLocalChannel
- Returns:
- the local address of this channel.
null
if this channel is not bound.
-
getRemoteAddress
public LocalAddress 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.- Specified by:
getRemoteAddress
in interfaceChannel
- Specified by:
getRemoteAddress
in interfaceLocalChannel
- 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
.
-
closeNow
void closeNow(ChannelFuture future)
-
flushWriteBuffer
void flushWriteBuffer()
-
-