public class IoProtocolSession extends java.lang.Object implements ProtocolSession
ProtocolSession
that is backed by IoSession
.Modifier and Type | Method and Description |
---|---|
void |
close()
Closes this session immediately.
|
void |
close(boolean wait)
Closes this session immediately.
|
java.lang.Object |
getAttachment()
Returns an attachment of this session.
|
java.lang.Object |
getAttribute(java.lang.String key)
Returns the value of user-defined attribute of this session.
|
java.util.Set |
getAttributeKeys()
Returns the set of keys of all user-defined attributes.
|
SessionConfig |
getConfig()
Returns the configuration of this session.
|
long |
getCreationTime()
Returns the time in millis when this session is created.
|
ProtocolDecoder |
getDecoder()
Returns the
ProtocolDecoder for this session. |
ProtocolEncoder |
getEncoder()
Returns the
ProtocolEncoder for this session. |
ProtocolFilterChain |
getFilterChain()
Returns the filter chain that only affects this session.
|
ProtocolHandler |
getHandler()
Returns the
ProtocolHandler which handles this session. |
int |
getIdleCount(IdleStatus status)
Returns the number of the fired continuous sessionIdle events
for the specified
IdleStatus . |
IoSession |
getIoSession()
Returns the
IoSession this session is backed by. |
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.
|
java.net.SocketAddress |
getLocalAddress()
Returns the socket address of local machine which is associated with this
session.
|
long |
getReadBytes()
Returns the total number of bytes which were read from this session.
|
java.net.SocketAddress |
getRemoteAddress()
Returns the socket address of remote peer.
|
int |
getScheduledWriteRequests()
Returns the number of write requests which are scheduled to be written
to this session.
|
TransportType |
getTransportType()
Returns transport type of this session.
|
long |
getWrittenBytes()
Returns the total number of bytes which were written to this session.
|
long |
getWrittenWriteRequests()
Returns the total number of write requests which were written to this session.
|
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 . |
java.lang.Object |
removeAttribute(java.lang.String key)
Removes a user-defined attribute with the specified key.
|
java.lang.Object |
setAttachment(java.lang.Object attachment)
Sets an attachment of this session.
|
java.lang.Object |
setAttribute(java.lang.String key,
java.lang.Object value)
Sets a user-defined attribute.
|
void |
write(java.lang.Object message)
Writes the specified
message to remote peer. |
public ProtocolFilterChain getFilterChain()
ProtocolSession
getFilterChain
in interface ProtocolSession
public ProtocolHandler getHandler()
ProtocolSession
ProtocolHandler
which handles this session.getHandler
in interface ProtocolSession
public ProtocolEncoder getEncoder()
ProtocolSession
ProtocolEncoder
for this session.getEncoder
in interface ProtocolSession
public ProtocolDecoder getDecoder()
ProtocolSession
ProtocolDecoder
for this session.getDecoder
in interface ProtocolSession
public void close()
Session
public void close(boolean wait)
Session
public java.lang.Object getAttachment()
Session
getAttachment
in interface Session
public java.lang.Object setAttachment(java.lang.Object attachment)
Session
setAttachment
in interface Session
public java.lang.Object getAttribute(java.lang.String key)
Session
getAttribute
in interface Session
key
- the key of the attributepublic java.lang.Object setAttribute(java.lang.String key, java.lang.Object value)
Session
setAttribute
in interface Session
key
- the key of the attributevalue
- the value of the attributepublic java.lang.Object removeAttribute(java.lang.String key)
Session
removeAttribute
in interface Session
public java.util.Set getAttributeKeys()
Session
getAttributeKeys
in interface Session
public void write(java.lang.Object message)
ProtocolSession
message
to remote peer. This operation
is asynchronous; ProtocolHandler.messageSent(ProtocolSession, Object)
will be invoked when the message is actually sent to remote peer.write
in interface ProtocolSession
public long getWrittenWriteRequests()
Session
getWrittenWriteRequests
in interface Session
public int getScheduledWriteRequests()
Session
getScheduledWriteRequests
in interface Session
public TransportType getTransportType()
Session
getTransportType
in interface Session
public boolean isConnected()
Session
true
if this session is connected with remote peer.isConnected
in interface Session
public SessionConfig getConfig()
Session
public java.net.SocketAddress getRemoteAddress()
Session
getRemoteAddress
in interface Session
public java.net.SocketAddress getLocalAddress()
Session
getLocalAddress
in interface Session
public long getReadBytes()
Session
getReadBytes
in interface Session
public long getWrittenBytes()
Session
getWrittenBytes
in interface Session
public long getCreationTime()
Session
getCreationTime
in interface Session
public long getLastIoTime()
Session
getLastIoTime
in interface Session
public long getLastReadTime()
Session
getLastReadTime
in interface Session
public long getLastWriteTime()
Session
getLastWriteTime
in interface Session
public boolean isIdle(IdleStatus status)
Session
true
if this session is idle for the specified
IdleStatus
.public int getIdleCount(IdleStatus status)
Session
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.
getIdleCount
in interface Session
public long getLastIdleTime(IdleStatus status)
Session
IdleStatus
.getLastIdleTime
in interface Session