org.apache.mina.common
Class AbstractIoSession

java.lang.Object
  extended by org.apache.mina.common.AbstractIoSession
All Implemented Interfaces:
IoSession
Direct Known Subclasses:
DummySession

public abstract class AbstractIoSession
extends Object
implements IoSession

Base implementation of IoSession.

Version:
$Rev: 627806 $, $Date: 2008-02-14 18:17:15 +0100 (Thu, 14 Feb 2008) $
Author:
The Apache MINA Project (dev@mina.apache.org)

Constructor Summary
protected AbstractIoSession()
           
 
Method Summary
 CloseFuture close()
          Closes this session immediately.
 CloseFuture close(boolean rightNow)
          Closes this session immediately or after all queued write requests are flushed.
 CloseFuture closeOnFlush()
          Closes this session after all queued write requests are flushed.
 boolean containsAttribute(Object key)
          Returns true if this session contains the attribute with the specified key.
protected  void decreaseReadBufferSize()
           
protected  void decreaseScheduledBytesAndMessages(WriteRequest request)
           
 boolean equals(Object o)
           
 Object getAttachment()
          Returns an attachment of this session.
 Object getAttribute(Object key)
          Returns the value of the user-defined attribute of this session.
 Object getAttribute(Object key, Object defaultValue)
          Returns the value of user defined attribute associated with the specified key.
 Set<Object> getAttributeKeys()
          Returns the set of keys of all user-defined attributes.
protected  IoSessionAttributeMap getAttributeMap()
           
 int getBothIdleCount()
          Returns the number of the fired continuous sessionIdle events for IdleStatus.BOTH_IDLE.
 CloseFuture getCloseFuture()
          Returns the CloseFuture of this session.
 long getCreationTime()
          Returns the time in millis when this session is created.
protected  WriteRequest getCurrentWriteRequest()
           
 long getId()
          Returns a unique identifier of this session.
 int getIdleCount(IdleStatus status)
          Returns the number of the fired continuous sessionIdle events for the specified IdleStatus.
 long getLastBothIdleTime()
          Returns the time in milliseconds when the last sessionIdle event is fired for IdleStatus.BOTH_IDLE.
 long getLastIdleTime(IdleStatus status)
          Returns the time in milliseconds when the last sessionIdle event is fired for the specified IdleStatus.
 long getLastIoTime()
          Returns the time in millis when I/O occurred lastly.
 long getLastReaderIdleTime()
          Returns the time in milliseconds when the last sessionIdle event is fired for IdleStatus.READER_IDLE.
 long getLastReadTime()
          Returns the time in millis when read operation occurred lastly.
 long getLastWriterIdleTime()
          Returns the time in milliseconds when the last sessionIdle event is fired for IdleStatus.WRITER_IDLE.
 long getLastWriteTime()
          Returns the time in millis when write operation occurred lastly.
protected abstract  IoProcessor getProcessor()
           
 long getReadBytes()
          Returns the total number of bytes which were read from this session.
 double getReadBytesThroughput()
          Returns the number of read bytes per second.
 int getReaderIdleCount()
          Returns the number of the fired continuous sessionIdle events for IdleStatus.READER_IDLE.
 long getReadMessages()
          Returns the total number of messages which were read and decoded from this session.
 double getReadMessagesThroughput()
          Returns the number of read messages per second.
 long getScheduledWriteBytes()
          Returns the number of bytes which are scheduled to be written to this session.
 int getScheduledWriteMessages()
          Returns the number of messages which are scheduled to be written to this session.
 SocketAddress getServiceAddress()
          Returns the socket address of the IoService listens to to manage this session.
 TrafficMask getTrafficMask()
          Returns the current TrafficMask of this session.
protected  WriteRequestQueue getWriteRequestQueue()
           
 int getWriterIdleCount()
          Returns the number of the fired continuous sessionIdle events for IdleStatus.WRITER_IDLE.
 long getWrittenBytes()
          Returns the total number of bytes which were written to this session.
 double getWrittenBytesThroughput()
          Returns the number of written bytes per second.
 long getWrittenMessages()
          Returns the total number of messages which were written and encoded by this session.
 double getWrittenMessagesThroughput()
          Returns the number of written messages per second.
 int hashCode()
           
protected  void increaseIdleCount(IdleStatus status, long currentTime)
           
protected  void increaseReadBufferSize()
           
protected  void increaseReadBytes(long increment, long currentTime)
           
protected  void increaseReadMessages(long currentTime)
           
protected  void increaseScheduledWriteBytes(long increment)
           
protected  void increaseScheduledWriteMessages()
           
protected  void increaseWrittenBytesAndMessages(WriteRequest request, long currentTime)
           
 boolean isBothIdle()
           
 boolean isClosing()
          Returns true if and only if this session is being closed (but not disconnected yet) or is closed.
 boolean isConnected()
          Returns true if this session is connected with remote peer.
 boolean isIdle(IdleStatus status)
          Returns true if this session is idle for the specified IdleStatus.
 boolean isReaderIdle()
           
protected  boolean isScheduledForFlush()
           
 boolean isWriterIdle()
           
protected  void offerClosedReadFuture()
           
protected  void offerFailedReadFuture(Throwable exception)
           
protected  void offerReadFuture(Object message)
           
 ReadFuture read()
          Returns a ReadFuture which is notified when a new message is received, the connection is closed or an exception is caught.
 Object removeAttribute(Object key)
          Removes a user-defined attribute with the specified key.
 boolean removeAttribute(Object key, Object value)
          Removes a user defined attribute with the specified key if the current attribute value is equal to the specified value.
 boolean replaceAttribute(Object key, Object oldValue, Object newValue)
          Replaces a user defined attribute with the specified key if the value of the attribute is equals to the specified old value.
 void resumeRead()
          A shortcut method for IoSession.setTrafficMask(TrafficMask) that resumes read operations for this session.
 void resumeWrite()
          A shortcut method for IoSession.setTrafficMask(TrafficMask) that resumes write operations for this session.
 Object setAttachment(Object attachment)
          Sets an attachment of this session.
 Object setAttribute(Object key)
          Sets a user defined attribute without a value.
 Object setAttribute(Object key, Object value)
          Sets a user-defined attribute.
 Object setAttributeIfAbsent(Object key)
          Sets a user defined attribute without a value if the attribute with the specified key is not set yet.
 Object setAttributeIfAbsent(Object key, Object value)
          Sets a user defined attribute if the attribute with the specified key is not set yet.
protected  void setAttributeMap(IoSessionAttributeMap attributes)
           
protected  void setCurrentWriteRequest(WriteRequest currentWriteRequest)
           
protected  boolean setScheduledForFlush(boolean flag)
           
protected  void setScheduledWriteBytes(long byteCount)
           
protected  void setScheduledWriteMessages(int messages)
           
 void setTrafficMask(TrafficMask trafficMask)
          Sets the TrafficMask of this session which will result the parent IoService to start to control the traffic of this session immediately.
protected  void setTrafficMaskNow(TrafficMask trafficMask)
           
protected  void setWriteRequestQueue(WriteRequestQueue writeRequestQueue)
           
 void suspendRead()
          A shortcut method for IoSession.setTrafficMask(TrafficMask) that suspends read operations for this session.
 void suspendWrite()
          A shortcut method for IoSession.setTrafficMask(TrafficMask) that suspends write operations for this session.
 String toString()
           
protected  void updateThroughput(long currentTime, boolean force)
          Update all statistical properties related with throughput assuming the specified time is the current time.
 WriteFuture write(Object message)
          Writes the specified message to remote peer.
 WriteFuture write(Object message, SocketAddress remoteAddress)
          (Optional) Writes the specified message to the specified destination.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.mina.common.IoSession
getConfig, getFilterChain, getHandler, getLocalAddress, getRemoteAddress, getService, getTransportMetadata
 

Constructor Detail

AbstractIoSession

protected AbstractIoSession()
Method Detail

getId

public final long getId()
Description copied from interface: IoSession
Returns a unique identifier of this session. Every session has its own ID which is different from each other.

Specified by:
getId in interface IoSession

getProcessor

protected abstract IoProcessor getProcessor()

isConnected

public final boolean isConnected()
Description copied from interface: IoSession
Returns true if this session is connected with remote peer.

Specified by:
isConnected in interface IoSession

isClosing

public final boolean isClosing()
Description copied from interface: IoSession
Returns true if and only if this session is being closed (but not disconnected yet) or is closed.

Specified by:
isClosing in interface IoSession

getCloseFuture

public final CloseFuture getCloseFuture()
Description copied from interface: IoSession
Returns the CloseFuture of this session. This method returns the same instance whenever user calls it.

Specified by:
getCloseFuture in interface IoSession

isScheduledForFlush

protected final boolean isScheduledForFlush()

setScheduledForFlush

protected final boolean setScheduledForFlush(boolean flag)

close

public final CloseFuture close(boolean rightNow)
Description copied from interface: IoSession
Closes this session immediately or after all queued write requests are flushed. This operation is asynchronous. Wait for the returned CloseFuture if you want to wait for the session actually closed.

Specified by:
close in interface IoSession
Parameters:
rightNow - true to close this session immediately (i.e. IoSession.close()). false to close this session after all queued write requests are flushed (i.e. IoSession.closeOnFlush()).

close

public final CloseFuture close()
Description copied from interface: IoSession
Closes this session immediately. This operation is asynchronous. Wait for the returned CloseFuture if you want to wait for the session actually closed.

Specified by:
close in interface IoSession

closeOnFlush

public final CloseFuture closeOnFlush()
Description copied from interface: IoSession
Closes this session after all queued write requests are flushed. This operation is asynchronous. Wait for the returned CloseFuture if you want to wait for the session actually closed.

Specified by:
closeOnFlush in interface IoSession

read

public final ReadFuture read()
Description copied from interface: IoSession
Returns a ReadFuture which is notified when a new message is received, the connection is closed or an exception is caught. This operation is especially useful when you implement a client application. However, please note that this operation is disabled by default and throw IllegalStateException because all received events must be queued somewhere to support this operation, possibly leading to memory leak. This means you have to keep calling IoSession.read() once you enabled this operation. To enable this operation, please call IoSessionConfig.setUseReadOperation(boolean) with true.

Specified by:
read in interface IoSession

offerReadFuture

protected final void offerReadFuture(Object message)

offerFailedReadFuture

protected final void offerFailedReadFuture(Throwable exception)

offerClosedReadFuture

protected final void offerClosedReadFuture()

write

public final WriteFuture write(Object message)
Description copied from interface: IoSession
Writes the specified message to remote peer. This operation is asynchronous; IoHandler.messageSent(IoSession,Object) will be invoked when the message is actually sent to remote peer. You can also wait for the returned WriteFuture if you want to wait for the message actually written.

Specified by:
write in interface IoSession

write

public final WriteFuture write(Object message,
                               SocketAddress remoteAddress)
Description copied from interface: IoSession
(Optional) Writes the specified message to the specified destination. This operation is asynchronous; IoHandler.messageSent(IoSession, Object) will be invoked when the message is actually sent to remote peer. You can also wait for the returned WriteFuture if you want to wait for the message actually written.

When you implement a client that receives a broadcast message from a server such as DHCP server, the client might need to send a response message for the broadcast message the server sent. Because the remote address of the session is not the address of the server in case of broadcasting, there should be a way to specify the destination when you write the response message. This interface provides IoSession.write(Object, SocketAddress) method so you can specify the destination.

Specified by:
write in interface IoSession
remoteAddress - null if you want the message sent to the default remote address

getAttachment

public final Object getAttachment()
Description copied from interface: IoSession
Returns an attachment of this session. This method is identical with getAttribute( "" ).

Specified by:
getAttachment in interface IoSession

setAttachment

public final Object setAttachment(Object attachment)
Description copied from interface: IoSession
Sets an attachment of this session. This method is identical with setAttribute( "", attachment ).

Specified by:
setAttachment in interface IoSession
Returns:
Old attachment. null if it is new.

getAttribute

public final Object getAttribute(Object key)
Description copied from interface: IoSession
Returns the value of the user-defined attribute of this session.

Specified by:
getAttribute in interface IoSession
Parameters:
key - the key of the attribute
Returns:
null if there is no attribute with the specified key

getAttribute

public final Object getAttribute(Object key,
                                 Object defaultValue)
Description copied from interface: IoSession
Returns the value of user defined attribute associated with the specified key. If there's no such attribute, the specified default value is associated with the specified key, and the default value is returned. This method is same with the following code except that the operation is performed atomically.
 if (containsAttribute(key)) {
     return getAttribute(key);
 } else {
     setAttribute(key, defaultValue);
     return defaultValue;
 }
 

Specified by:
getAttribute in interface IoSession

setAttribute

public final Object setAttribute(Object key,
                                 Object value)
Description copied from interface: IoSession
Sets a user-defined attribute.

Specified by:
setAttribute in interface IoSession
Parameters:
key - the key of the attribute
value - the value of the attribute
Returns:
The old value of the attribute. null if it is new.

setAttribute

public final Object setAttribute(Object key)
Description copied from interface: IoSession
Sets a user defined attribute without a value. This is useful when you just want to put a 'mark' attribute. Its value is set to Boolean.TRUE.

Specified by:
setAttribute in interface IoSession
Parameters:
key - the key of the attribute
Returns:
The old value of the attribute. null if it is new.

setAttributeIfAbsent

public final Object setAttributeIfAbsent(Object key,
                                         Object value)
Description copied from interface: IoSession
Sets a user defined attribute if the attribute with the specified key is not set yet. This method is same with the following code except that the operation is performed atomically.
 if (containsAttribute(key)) {
     return getAttribute(key);
 } else {
     return setAttribute(key, value);
 }
 

Specified by:
setAttributeIfAbsent in interface IoSession

setAttributeIfAbsent

public final Object setAttributeIfAbsent(Object key)
Description copied from interface: IoSession
Sets a user defined attribute without a value if the attribute with the specified key is not set yet. This is useful when you just want to put a 'mark' attribute. Its value is set to Boolean.TRUE. This method is same with the following code except that the operation is performed atomically.
 if (containsAttribute(key)) {
     return getAttribute(key);  // might not always be Boolean.TRUE.
 } else {
     return setAttribute(key);
 }
 

Specified by:
setAttributeIfAbsent in interface IoSession

removeAttribute

public final Object removeAttribute(Object key)
Description copied from interface: IoSession
Removes a user-defined attribute with the specified key.

Specified by:
removeAttribute in interface IoSession
Returns:
The old value of the attribute. null if not found.

removeAttribute

public final boolean removeAttribute(Object key,
                                     Object value)
Description copied from interface: IoSession
Removes a user defined attribute with the specified key if the current attribute value is equal to the specified value. This method is same with the following code except that the operation is performed atomically.
 if (containsAttribute(key) && getAttribute(key).equals(value)) {
     removeAttribute(key);
     return true;
 } else {
     return false;
 }
 

Specified by:
removeAttribute in interface IoSession

replaceAttribute

public final boolean replaceAttribute(Object key,
                                      Object oldValue,
                                      Object newValue)
Description copied from interface: IoSession
Replaces a user defined attribute with the specified key if the value of the attribute is equals to the specified old value. This method is same with the following code except that the operation is performed atomically.
 if (containsAttribute(key) && getAttribute(key).equals(oldValue)) {
     setAttribute(key, newValue);
     return true;
 } else {
     return false;
 }
 

Specified by:
replaceAttribute in interface IoSession

containsAttribute

public final boolean containsAttribute(Object key)
Description copied from interface: IoSession
Returns true if this session contains the attribute with the specified key.

Specified by:
containsAttribute in interface IoSession

getAttributeKeys

public final Set<Object> getAttributeKeys()
Description copied from interface: IoSession
Returns the set of keys of all user-defined attributes.

Specified by:
getAttributeKeys in interface IoSession

getAttributeMap

protected final IoSessionAttributeMap getAttributeMap()

setAttributeMap

protected final void setAttributeMap(IoSessionAttributeMap attributes)

setWriteRequestQueue

protected final void setWriteRequestQueue(WriteRequestQueue writeRequestQueue)

getTrafficMask

public final TrafficMask getTrafficMask()
Description copied from interface: IoSession
Returns the current TrafficMask of this session.

Specified by:
getTrafficMask in interface IoSession

setTrafficMask

public final void setTrafficMask(TrafficMask trafficMask)
Description copied from interface: IoSession
Sets the TrafficMask of this session which will result the parent IoService to start to control the traffic of this session immediately.

Specified by:
setTrafficMask in interface IoSession

setTrafficMaskNow

protected final void setTrafficMaskNow(TrafficMask trafficMask)

suspendRead

public final void suspendRead()
Description copied from interface: IoSession
A shortcut method for IoSession.setTrafficMask(TrafficMask) that suspends read operations for this session.

Specified by:
suspendRead in interface IoSession

suspendWrite

public final void suspendWrite()
Description copied from interface: IoSession
A shortcut method for IoSession.setTrafficMask(TrafficMask) that suspends write operations for this session.

Specified by:
suspendWrite in interface IoSession

resumeRead

public final void resumeRead()
Description copied from interface: IoSession
A shortcut method for IoSession.setTrafficMask(TrafficMask) that resumes read operations for this session.

Specified by:
resumeRead in interface IoSession

resumeWrite

public final void resumeWrite()
Description copied from interface: IoSession
A shortcut method for IoSession.setTrafficMask(TrafficMask) that resumes write operations for this session.

Specified by:
resumeWrite in interface IoSession

getReadBytes

public final long getReadBytes()
Description copied from interface: IoSession
Returns the total number of bytes which were read from this session.

Specified by:
getReadBytes in interface IoSession

getWrittenBytes

public final long getWrittenBytes()
Description copied from interface: IoSession
Returns the total number of bytes which were written to this session.

Specified by:
getWrittenBytes in interface IoSession

getReadMessages

public final long getReadMessages()
Description copied from interface: IoSession
Returns the total number of messages which were read and decoded from this session.

Specified by:
getReadMessages in interface IoSession

getWrittenMessages

public final long getWrittenMessages()
Description copied from interface: IoSession
Returns the total number of messages which were written and encoded by this session.

Specified by:
getWrittenMessages in interface IoSession

getReadBytesThroughput

public final double getReadBytesThroughput()
Description copied from interface: IoSession
Returns the number of read bytes per second.

Specified by:
getReadBytesThroughput in interface IoSession

getWrittenBytesThroughput

public final double getWrittenBytesThroughput()
Description copied from interface: IoSession
Returns the number of written bytes per second.

Specified by:
getWrittenBytesThroughput in interface IoSession

getReadMessagesThroughput

public final double getReadMessagesThroughput()
Description copied from interface: IoSession
Returns the number of read messages per second.

Specified by:
getReadMessagesThroughput in interface IoSession

getWrittenMessagesThroughput

public final double getWrittenMessagesThroughput()
Description copied from interface: IoSession
Returns the number of written messages per second.

Specified by:
getWrittenMessagesThroughput in interface IoSession

updateThroughput

protected final void updateThroughput(long currentTime,
                                      boolean force)
Update all statistical properties related with throughput assuming the specified time is the current time. By default this method returns silently without updating the throughput properties if they were calculated already within last calculation interval. If, however, force is specified as true, this method updates the throughput properties immediately.

Parameters:
currentTime - the current time in milliseconds

getScheduledWriteBytes

public final long getScheduledWriteBytes()
Description copied from interface: IoSession
Returns the number of bytes which are scheduled to be written to this session.

Specified by:
getScheduledWriteBytes in interface IoSession

getScheduledWriteMessages

public final int getScheduledWriteMessages()
Description copied from interface: IoSession
Returns the number of messages which are scheduled to be written to this session.

Specified by:
getScheduledWriteMessages in interface IoSession

setScheduledWriteBytes

protected void setScheduledWriteBytes(long byteCount)

setScheduledWriteMessages

protected void setScheduledWriteMessages(int messages)

increaseReadBytes

protected final void increaseReadBytes(long increment,
                                       long currentTime)

increaseReadMessages

protected final void increaseReadMessages(long currentTime)

increaseWrittenBytesAndMessages

protected final void increaseWrittenBytesAndMessages(WriteRequest request,
                                                     long currentTime)

increaseScheduledWriteBytes

protected final void increaseScheduledWriteBytes(long increment)

increaseScheduledWriteMessages

protected final void increaseScheduledWriteMessages()

decreaseScheduledBytesAndMessages

protected final void decreaseScheduledBytesAndMessages(WriteRequest request)

getWriteRequestQueue

protected final WriteRequestQueue getWriteRequestQueue()

getCurrentWriteRequest

protected final WriteRequest getCurrentWriteRequest()

setCurrentWriteRequest

protected final void setCurrentWriteRequest(WriteRequest currentWriteRequest)

increaseReadBufferSize

protected final void increaseReadBufferSize()

decreaseReadBufferSize

protected final void decreaseReadBufferSize()

getCreationTime

public final long getCreationTime()
Description copied from interface: IoSession
Returns the time in millis when this session is created.

Specified by:
getCreationTime in interface IoSession

getLastIoTime

public final long getLastIoTime()
Description copied from interface: IoSession
Returns the time in millis when I/O occurred lastly.

Specified by:
getLastIoTime in interface IoSession

getLastReadTime

public final long getLastReadTime()
Description copied from interface: IoSession
Returns the time in millis when read operation occurred lastly.

Specified by:
getLastReadTime in interface IoSession

getLastWriteTime

public final long getLastWriteTime()
Description copied from interface: IoSession
Returns the time in millis when write operation occurred lastly.

Specified by:
getLastWriteTime in interface IoSession

isIdle

public final boolean isIdle(IdleStatus status)
Description copied from interface: IoSession
Returns true if this session is idle for the specified IdleStatus.

Specified by:
isIdle in interface IoSession

isBothIdle

public final boolean isBothIdle()

isReaderIdle

public final boolean isReaderIdle()

isWriterIdle

public final boolean isWriterIdle()

getIdleCount

public final int getIdleCount(IdleStatus status)
Description copied from interface: IoSession
Returns the number of the fired continuous sessionIdle events for the specified IdleStatus.

If sessionIdle event is fired first after some time after I/O, idleCount becomes 1. idleCount resets to 0 if any I/O occurs again, otherwise it increases to 2 and so on if sessionIdle event is fired again without any I/O between two (or more) sessionIdle events.

Specified by:
getIdleCount in interface IoSession

getLastIdleTime

public final long getLastIdleTime(IdleStatus status)
Description copied from interface: IoSession
Returns the time in milliseconds when the last sessionIdle event is fired for the specified IdleStatus.

Specified by:
getLastIdleTime in interface IoSession

increaseIdleCount

protected final void increaseIdleCount(IdleStatus status,
                                       long currentTime)

getBothIdleCount

public final int getBothIdleCount()
Description copied from interface: IoSession
Returns the number of the fired continuous sessionIdle events for IdleStatus.BOTH_IDLE.

Specified by:
getBothIdleCount in interface IoSession
See Also:
IoSession.getIdleCount(IdleStatus)

getLastBothIdleTime

public final long getLastBothIdleTime()
Description copied from interface: IoSession
Returns the time in milliseconds when the last sessionIdle event is fired for IdleStatus.BOTH_IDLE.

Specified by:
getLastBothIdleTime in interface IoSession
See Also:
IoSession.getLastIdleTime(IdleStatus)

getLastReaderIdleTime

public final long getLastReaderIdleTime()
Description copied from interface: IoSession
Returns the time in milliseconds when the last sessionIdle event is fired for IdleStatus.READER_IDLE.

Specified by:
getLastReaderIdleTime in interface IoSession
See Also:
IoSession.getLastIdleTime(IdleStatus)

getLastWriterIdleTime

public final long getLastWriterIdleTime()
Description copied from interface: IoSession
Returns the time in milliseconds when the last sessionIdle event is fired for IdleStatus.WRITER_IDLE.

Specified by:
getLastWriterIdleTime in interface IoSession
See Also:
IoSession.getLastIdleTime(IdleStatus)

getReaderIdleCount

public final int getReaderIdleCount()
Description copied from interface: IoSession
Returns the number of the fired continuous sessionIdle events for IdleStatus.READER_IDLE.

Specified by:
getReaderIdleCount in interface IoSession
See Also:
IoSession.getIdleCount(IdleStatus)

getWriterIdleCount

public final int getWriterIdleCount()
Description copied from interface: IoSession
Returns the number of the fired continuous sessionIdle events for IdleStatus.WRITER_IDLE.

Specified by:
getWriterIdleCount in interface IoSession
See Also:
IoSession.getIdleCount(IdleStatus)

getServiceAddress

public SocketAddress getServiceAddress()
Description copied from interface: IoSession
Returns the socket address of the IoService listens to to manage this session. If this session is managed by IoAcceptor, it returns the SocketAddress which is specified as a parameter of IoAcceptor.bind(). If this session is managed by IoConnector, this method returns the same address with that of IoSession.getRemoteAddress().

Specified by:
getServiceAddress in interface IoSession

hashCode

public final int hashCode()
Overrides:
hashCode in class Object

equals

public final boolean equals(Object o)
Overrides:
equals in class Object

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2004-2009 Apache MINA Project. All Rights Reserved.