org.activeio.net
Class NIOBaseChannel

java.lang.Object
  extended by org.activeio.net.NIOBaseChannel
All Implemented Interfaces:
Disposable, SocketMetadata
Direct Known Subclasses:
NIOAsyncChannel, NIOSyncChannel

public class NIOBaseChannel
extends Object
implements SocketMetadata, Disposable

Base class for the Async and Sync implementations of NIO channels.

Version:
$Revision$

Field Summary
protected  Socket socket
           
protected  SocketChannel socketChannel
           
 
Constructor Summary
protected NIOBaseChannel(SocketChannel socketChannel, boolean useDirect)
           
 
Method Summary
protected  ByteBuffer allocateBuffer()
           
 void dispose()
          This method should not throw any exceptions.
 void flush()
           
 InetAddress getInetAddress()
           
 boolean getKeepAlive()
           
 InetAddress getLocalAddress()
           
 int getLocalPort()
           
 SocketAddress getLocalSocketAddress()
           
 boolean getOOBInline()
           
 int getPort()
           
 int getReceiveBufferSize()
           
 SocketAddress getRemoteSocketAddress()
           
 boolean getReuseAddress()
           
 int getSendBufferSize()
           
 int getSoLinger()
           
 int getSoTimeout()
           
 boolean getTcpNoDelay()
           
 int getTrafficClass()
           
 boolean isBound()
           
 boolean isClosed()
           
 boolean isConnected()
           
 Object narrow(Class target)
           
 void setKeepAlive(boolean on)
           
 void setOOBInline(boolean on)
           
 void setReceiveBufferSize(int size)
           
 void setReuseAddress(boolean on)
           
 void setSendBufferSize(int size)
           
 void setSoLinger(boolean on, int linger)
           
protected  void setSoTimeout(int i)
           
 void setTcpNoDelay(boolean on)
           
 void setTrafficClass(int tc)
           
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

socketChannel

protected final SocketChannel socketChannel

socket

protected final Socket socket
Constructor Detail

NIOBaseChannel

protected NIOBaseChannel(SocketChannel socketChannel,
                         boolean useDirect)
                  throws IOException
Throws:
IOException
Method Detail

allocateBuffer

protected ByteBuffer allocateBuffer()

setSoTimeout

protected void setSoTimeout(int i)
                     throws SocketException
Throws:
SocketException

narrow

public Object narrow(Class target)

toString

public String toString()
Overrides:
toString in class Object

dispose

public void dispose()
Description copied from interface: Disposable
This method should not throw any exceptions. Cleaning up a Disposable object should be easy of an end user therefore do not make him have to handle an Exception.

Specified by:
dispose in interface Disposable

flush

public void flush()
           throws IOException
Throws:
IOException
See Also:
org.activeio.Channel#flush()

getInetAddress

public InetAddress getInetAddress()
Specified by:
getInetAddress in interface SocketMetadata

getKeepAlive

public boolean getKeepAlive()
                     throws SocketException
Specified by:
getKeepAlive in interface SocketMetadata
Throws:
SocketException

getLocalAddress

public InetAddress getLocalAddress()
Specified by:
getLocalAddress in interface SocketMetadata

getLocalPort

public int getLocalPort()
Specified by:
getLocalPort in interface SocketMetadata

getLocalSocketAddress

public SocketAddress getLocalSocketAddress()
Specified by:
getLocalSocketAddress in interface SocketMetadata

getOOBInline

public boolean getOOBInline()
                     throws SocketException
Specified by:
getOOBInline in interface SocketMetadata
Throws:
SocketException

getPort

public int getPort()
Specified by:
getPort in interface SocketMetadata

getReceiveBufferSize

public int getReceiveBufferSize()
                         throws SocketException
Specified by:
getReceiveBufferSize in interface SocketMetadata
Throws:
SocketException

getRemoteSocketAddress

public SocketAddress getRemoteSocketAddress()
Specified by:
getRemoteSocketAddress in interface SocketMetadata

getReuseAddress

public boolean getReuseAddress()
                        throws SocketException
Specified by:
getReuseAddress in interface SocketMetadata
Throws:
SocketException

getSendBufferSize

public int getSendBufferSize()
                      throws SocketException
Specified by:
getSendBufferSize in interface SocketMetadata
Throws:
SocketException

getSoLinger

public int getSoLinger()
                throws SocketException
Specified by:
getSoLinger in interface SocketMetadata
Throws:
SocketException

getSoTimeout

public int getSoTimeout()
                 throws SocketException
Specified by:
getSoTimeout in interface SocketMetadata
Throws:
SocketException

getTcpNoDelay

public boolean getTcpNoDelay()
                      throws SocketException
Specified by:
getTcpNoDelay in interface SocketMetadata
Throws:
SocketException

getTrafficClass

public int getTrafficClass()
                    throws SocketException
Specified by:
getTrafficClass in interface SocketMetadata
Throws:
SocketException

isBound

public boolean isBound()
Specified by:
isBound in interface SocketMetadata

isClosed

public boolean isClosed()
Specified by:
isClosed in interface SocketMetadata

isConnected

public boolean isConnected()
Specified by:
isConnected in interface SocketMetadata

setKeepAlive

public void setKeepAlive(boolean on)
                  throws SocketException
Specified by:
setKeepAlive in interface SocketMetadata
Throws:
SocketException

setOOBInline

public void setOOBInline(boolean on)
                  throws SocketException
Specified by:
setOOBInline in interface SocketMetadata
Throws:
SocketException

setReceiveBufferSize

public void setReceiveBufferSize(int size)
                          throws SocketException
Specified by:
setReceiveBufferSize in interface SocketMetadata
Throws:
SocketException

setReuseAddress

public void setReuseAddress(boolean on)
                     throws SocketException
Specified by:
setReuseAddress in interface SocketMetadata
Throws:
SocketException

setSendBufferSize

public void setSendBufferSize(int size)
                       throws SocketException
Specified by:
setSendBufferSize in interface SocketMetadata
Throws:
SocketException

setSoLinger

public void setSoLinger(boolean on,
                        int linger)
                 throws SocketException
Specified by:
setSoLinger in interface SocketMetadata
Throws:
SocketException

setTcpNoDelay

public void setTcpNoDelay(boolean on)
                   throws SocketException
Specified by:
setTcpNoDelay in interface SocketMetadata
Throws:
SocketException

setTrafficClass

public void setTrafficClass(int tc)
                     throws SocketException
Specified by:
setTrafficClass in interface SocketMetadata
Throws:
SocketException


Copyright © -2009 The ActiveIO Project. All Rights Reserved.