|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.littleshoot.mina.common.support.BaseIoSession
public abstract class BaseIoSession
Base implementation of IoSession.
| Constructor Summary | |
|---|---|
protected |
BaseIoSession()
|
| Method Summary | |
|---|---|
CloseFuture |
close()
Closes this session immediately. |
protected void |
close0()
Implement this method to perform real close operation. |
boolean |
containsAttribute(String key)
Returns true if this session contains the attribute with the specified key. |
Object |
getAttachment()
Returns an attachment of this session. |
Object |
getAttribute(String key)
Returns the value of user-defined attribute of this session. |
Set<String> |
getAttributeKeys()
Returns the set of keys of all user-defined attributes. |
CloseFuture |
getCloseFuture()
Returns the CloseFuture of this session. |
long |
getCreationTime()
Returns the time in millis when this session is created. |
int |
getIdleCount(IdleStatus status)
Returns the number of the fired continuous sessionIdle events for the specified IdleStatus. |
int |
getIdleTime(IdleStatus status)
Returns idle time for the specified type of idleness in seconds. |
long |
getIdleTimeInMillis(IdleStatus status)
Returns idle time for the specified type of idleness in milliseconds. |
long |
getLastIdleTime(IdleStatus status)
Returns the time in millis when the last sessionIdle event is fired for the specified IdleStatus. |
long |
getLastIoTime()
Returns the time in millis when I/O occurred lastly. |
long |
getLastReadTime()
Returns the time in millis when read operation occurred lastly. |
long |
getLastWriteTime()
Returns the time in millis when write operation occurred lastly. |
long |
getReadBytes()
Returns the total number of bytes which were read from this session. |
long |
getReadMessages()
Returns the total number of messages which were read and decoded from this session. |
int |
getScheduledWriteBytes()
Returns the number of bytes which are scheduled to be written to this session. |
int |
getScheduledWriteRequests()
Returns the number of write requests which are scheduled to be written to this session. |
TrafficMask |
getTrafficMask()
Returns the current TrafficMask of this session. |
int |
getWriteTimeout()
Returns write timeout in seconds. |
long |
getWriteTimeoutInMillis()
Returns write timeout in milliseconds. |
long |
getWrittenBytes()
Returns the total number of bytes which were written to this session. |
long |
getWrittenMessages()
Returns the total number of messages which were written and encoded by this session. |
long |
getWrittenWriteRequests()
Returns the total number of write requests which were written to this session. |
void |
increaseIdleCount(IdleStatus status)
|
void |
increaseReadBytes(int increment)
|
void |
increaseReadMessages()
|
void |
increaseScheduledWriteBytes(int increment)
|
void |
increaseScheduledWriteRequests()
|
void |
increaseWrittenBytes(int increment)
|
void |
increaseWrittenMessages()
|
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 |
isScheduledForFlush()
|
Object |
removeAttribute(String key)
Removes a user-defined attribute with the specified key. |
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(String key)
Sets a user defined attribute without a value. |
Object |
setAttribute(String key,
Object value)
Sets a user-defined attribute. |
void |
setIdleTime(IdleStatus status,
int idleTime)
Sets idle time for the specified type of idleness in seconds. |
boolean |
setScheduledForFlush(boolean flag)
|
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. |
void |
setWriteTimeout(int writeTimeout)
Sets write timeout in seconds. |
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 abstract void |
updateTrafficMask()
Signals the IoService that the TrafficMask of this
session has been changed. |
WriteFuture |
write(Object message)
Writes the specified message to remote peer. |
WriteFuture |
write(Object message,
SocketAddress remoteAddress)
|
protected void |
write0(IoFilter.WriteRequest writeRequest)
Implement this method to perform real write operation with the specified writeRequest. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.littleshoot.mina.common.IoSession |
|---|
getConfig, getFilterChain, getHandler, getLocalAddress, getRemoteAddress, getService, getServiceAddress, getServiceConfig, getTransportType |
| Constructor Detail |
|---|
protected BaseIoSession()
| Method Detail |
|---|
public boolean isConnected()
IoSessiontrue if this session is connected with remote peer.
isConnected in interface IoSessionpublic boolean isClosing()
IoSessiontrue if and only if this session is being closed
(but not disconnected yet) or is closed.
- Specified by:
isClosing in interface IoSession
public CloseFuture getCloseFuture()
IoSessionCloseFuture of this session. This method returns
the same instance whenever user calls it.
getCloseFuture in interface IoSessionpublic boolean isScheduledForFlush()
public boolean setScheduledForFlush(boolean flag)
public CloseFuture close()
IoSessionCloseFuture if you want to wait for
the session actually closed.
close in interface IoSessionprotected void close0()
public WriteFuture write(Object message)
IoSessionmessage 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.
write in interface IoSession
public WriteFuture write(Object message,
SocketAddress remoteAddress)
protected void write0(IoFilter.WriteRequest writeRequest)
writeRequest.
By default, this method is implemented to set the future to
'not written' immediately.
writeRequest - Write request to makepublic Object getAttachment()
IoSession
getAttachment in interface IoSessionpublic Object setAttachment(Object attachment)
IoSession
setAttachment in interface IoSessionpublic Object getAttribute(String key)
IoSession
getAttribute in interface IoSessionkey - the key of the attribute
public Object setAttribute(String key,
Object value)
IoSession
setAttribute in interface IoSessionkey - the key of the attributevalue - the value of the attribute
public Object setAttribute(String key)
IoSessionBoolean.TRUE.
setAttribute in interface IoSessionkey - the key of the attribute
public Object removeAttribute(String key)
IoSession
removeAttribute in interface IoSessionpublic boolean containsAttribute(String key)
IoSession
containsAttribute in interface IoSessionpublic Set<String> getAttributeKeys()
IoSession
getAttributeKeys in interface IoSessionpublic int getIdleTime(IdleStatus status)
IoSession
getIdleTime in interface IoSessionpublic long getIdleTimeInMillis(IdleStatus status)
IoSession
getIdleTimeInMillis in interface IoSession
public void setIdleTime(IdleStatus status,
int idleTime)
IoSession
setIdleTime in interface IoSessionpublic int getWriteTimeout()
IoSession
getWriteTimeout in interface IoSessionpublic long getWriteTimeoutInMillis()
IoSession
getWriteTimeoutInMillis in interface IoSessionpublic void setWriteTimeout(int writeTimeout)
IoSession
setWriteTimeout in interface IoSessionpublic TrafficMask getTrafficMask()
IoSessionTrafficMask of this session.
getTrafficMask in interface IoSessionpublic void setTrafficMask(TrafficMask trafficMask)
IoSessionTrafficMask of this session which will result
the parent IoService to start to control the traffic
of this session immediately.
setTrafficMask in interface IoSessionpublic void suspendRead()
IoSessionIoSession.setTrafficMask(TrafficMask) that
suspends read operations for this session.
suspendRead in interface IoSessionpublic void suspendWrite()
IoSessionIoSession.setTrafficMask(TrafficMask) that
suspends write operations for this session.
suspendWrite in interface IoSessionpublic void resumeRead()
IoSessionIoSession.setTrafficMask(TrafficMask) that
resumes read operations for this session.
resumeRead in interface IoSessionpublic void resumeWrite()
IoSessionIoSession.setTrafficMask(TrafficMask) that
resumes write operations for this session.
resumeWrite in interface IoSessionprotected abstract void updateTrafficMask()
IoService that the TrafficMask of this
session has been changed.
public long getReadBytes()
IoSession
getReadBytes in interface IoSessionpublic long getWrittenBytes()
IoSession
getWrittenBytes in interface IoSessionpublic long getWrittenWriteRequests()
IoSession
getWrittenWriteRequests in interface IoSessionpublic long getReadMessages()
IoSession
getReadMessages in interface IoSessionpublic long getWrittenMessages()
IoSession
getWrittenMessages in interface IoSessionpublic int getScheduledWriteBytes()
IoSession
getScheduledWriteBytes in interface IoSessionpublic int getScheduledWriteRequests()
IoSession
getScheduledWriteRequests in interface IoSessionpublic void increaseReadBytes(int increment)
public void increaseWrittenBytes(int increment)
public void increaseReadMessages()
public void increaseWrittenMessages()
public void increaseScheduledWriteBytes(int increment)
public void increaseScheduledWriteRequests()
public long getCreationTime()
IoSession
getCreationTime in interface IoSessionpublic long getLastIoTime()
IoSession
getLastIoTime in interface IoSessionpublic long getLastReadTime()
IoSession
getLastReadTime in interface IoSessionpublic long getLastWriteTime()
IoSession
getLastWriteTime in interface IoSessionpublic boolean isIdle(IdleStatus status)
IoSessiontrue if this session is idle for the specified
IdleStatus.
isIdle in interface IoSessionpublic int getIdleCount(IdleStatus status)
IoSessionIdleStatus.
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.
getIdleCount in interface IoSessionpublic long getLastIdleTime(IdleStatus status)
IoSessionIdleStatus.
getLastIdleTime in interface IoSessionpublic void increaseIdleCount(IdleStatus status)
public String toString()
toString in class Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||