org.apache.mina.common.support

Class BaseIoSession

Implemented Interfaces:
IoSession
Known Direct Subclasses:
VmPipeSessionImpl

public abstract class BaseIoSession
extends java.lang.Object
implements IoSession

Base implementation of IoSession.

Constructor Summary

BaseIoSession()

Method Summary

@Override
String toString()
CloseFuture
close()
protected void
close0()
Implement this method to perform real close operation.
boolean
containsAttribute(String key)
Object
getAttachment()
Object
getAttribute(String key)
Set
getAttributeKeys()
CloseFuture
getCloseFuture()
long
getCreationTime()
int
getIdleCount(IdleStatus status)
int
getIdleTime(IdleStatus status)
long
getIdleTimeInMillis(IdleStatus status)
long
getLastIdleTime(IdleStatus status)
long
getLastIoTime()
long
getLastReadTime()
long
getLastWriteTime()
long
getReadBytes()
long
getReadMessages()
int
getScheduledWriteBytes()
int
getScheduledWriteRequests()
TrafficMask
getTrafficMask()
int
getWriteTimeout()
long
getWriteTimeoutInMillis()
long
getWrittenBytes()
long
getWrittenMessages()
long
getWrittenWriteRequests()
void
increaseIdleCount(IdleStatus status)
void
increaseReadBytes(int increment)
void
increaseReadMessages()
void
increaseScheduledWriteBytes(int increment)
void
increaseScheduledWriteRequests()
void
increaseWrittenBytes(int increment)
void
increaseWrittenMessages()
boolean
isClosing()
boolean
isConnected()
boolean
isIdle(IdleStatus status)
boolean
isScheduledForFlush()
Object
removeAttribute(String key)
void
resumeRead()
void
resumeWrite()
Object
setAttachment(Object attachment)
Object
setAttribute(String key)
Object
setAttribute(String key, Object value)
void
setIdleTime(IdleStatus status, int idleTime)
boolean
setScheduledForFlush(boolean flag)
void
setTrafficMask(TrafficMask trafficMask)
void
setWriteTimeout(int writeTimeout)
void
suspendRead()
void
suspendWrite()
protected abstract void
updateTrafficMask()
Signals the IoService that the TrafficMask of this session has been changed.
WriteFuture
write(Object message)
WriteFuture
write(Object message, SocketAddress remoteAddress)
protected void
write0(IoFilter.WriteRequest writeRequest)
Implement this method to perform real write operation with the specified writeRequest.

Constructor Details

BaseIoSession

protected BaseIoSession()

Method Details

String toString

public @Override String toString()

close

public CloseFuture close()
Specified by:
close in interface IoSession

close0

protected void close0()
Implement this method to perform real close operation. By default, this method is implemented to set the future to 'closed' immediately.

containsAttribute

public boolean containsAttribute(String key)
Specified by:
containsAttribute in interface IoSession

getAttachment

public Object getAttachment()
Specified by:
getAttachment in interface IoSession

getAttribute

public Object getAttribute(String key)
Specified by:
getAttribute in interface IoSession

getAttributeKeys

public Set getAttributeKeys()
Specified by:
getAttributeKeys in interface IoSession

getCloseFuture

public CloseFuture getCloseFuture()
Specified by:
getCloseFuture in interface IoSession

getCreationTime

public long getCreationTime()
Specified by:
getCreationTime in interface IoSession

getIdleCount

public int getIdleCount(IdleStatus status)
Specified by:
getIdleCount in interface IoSession

getIdleTime

public int getIdleTime(IdleStatus status)
Specified by:
getIdleTime in interface IoSession

getIdleTimeInMillis

public long getIdleTimeInMillis(IdleStatus status)
Specified by:
getIdleTimeInMillis in interface IoSession

getLastIdleTime

public long getLastIdleTime(IdleStatus status)
Specified by:
getLastIdleTime in interface IoSession

getLastIoTime

public long getLastIoTime()
Specified by:
getLastIoTime in interface IoSession

getLastReadTime

public long getLastReadTime()
Specified by:
getLastReadTime in interface IoSession

getLastWriteTime

public long getLastWriteTime()
Specified by:
getLastWriteTime in interface IoSession

getReadBytes

public long getReadBytes()
Specified by:
getReadBytes in interface IoSession

getReadMessages

public long getReadMessages()
Specified by:
getReadMessages in interface IoSession

getScheduledWriteBytes

public int getScheduledWriteBytes()
Specified by:
getScheduledWriteBytes in interface IoSession

getScheduledWriteRequests

public int getScheduledWriteRequests()
Specified by:
getScheduledWriteRequests in interface IoSession

getTrafficMask

public TrafficMask getTrafficMask()
Specified by:
getTrafficMask in interface IoSession

getWriteTimeout

public int getWriteTimeout()
Specified by:
getWriteTimeout in interface IoSession

getWriteTimeoutInMillis

public long getWriteTimeoutInMillis()
Specified by:
getWriteTimeoutInMillis in interface IoSession

getWrittenBytes

public long getWrittenBytes()
Specified by:
getWrittenBytes in interface IoSession

getWrittenMessages

public long getWrittenMessages()
Specified by:
getWrittenMessages in interface IoSession

getWrittenWriteRequests

public long getWrittenWriteRequests()
Specified by:
getWrittenWriteRequests in interface IoSession

increaseIdleCount

public void increaseIdleCount(IdleStatus status)

increaseReadBytes

public void increaseReadBytes(int increment)

increaseReadMessages

public void increaseReadMessages()

increaseScheduledWriteBytes

public void increaseScheduledWriteBytes(int increment)

increaseScheduledWriteRequests

public void increaseScheduledWriteRequests()

increaseWrittenBytes

public void increaseWrittenBytes(int increment)

increaseWrittenMessages

public void increaseWrittenMessages()

isClosing

public boolean isClosing()
Specified by:
isClosing in interface IoSession

isConnected

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

isIdle

public boolean isIdle(IdleStatus status)
Specified by:
isIdle in interface IoSession

isScheduledForFlush

public boolean isScheduledForFlush()

removeAttribute

public Object removeAttribute(String key)
Specified by:
removeAttribute in interface IoSession

resumeRead

public void resumeRead()
Specified by:
resumeRead in interface IoSession

resumeWrite

public void resumeWrite()
Specified by:
resumeWrite in interface IoSession

setAttachment

public Object setAttachment(Object attachment)
Specified by:
setAttachment in interface IoSession

setAttribute

public Object setAttribute(String key)
Specified by:
setAttribute in interface IoSession

setAttribute

public Object setAttribute(String key,
                           Object value)
Specified by:
setAttribute in interface IoSession

setIdleTime

public void setIdleTime(IdleStatus status,
                        int idleTime)
Specified by:
setIdleTime in interface IoSession

setScheduledForFlush

public boolean setScheduledForFlush(boolean flag)

setTrafficMask

public void setTrafficMask(TrafficMask trafficMask)
Specified by:
setTrafficMask in interface IoSession

setWriteTimeout

public void setWriteTimeout(int writeTimeout)
Specified by:
setWriteTimeout in interface IoSession

suspendRead

public void suspendRead()
Specified by:
suspendRead in interface IoSession

suspendWrite

public void suspendWrite()
Specified by:
suspendWrite in interface IoSession

updateTrafficMask

protected abstract void updateTrafficMask()
Signals the IoService that the TrafficMask of this session has been changed.

write

public WriteFuture write(Object message)
Specified by:
write in interface IoSession

write

public WriteFuture write(Object message,
                         SocketAddress remoteAddress)

write0

protected void write0(IoFilter.WriteRequest writeRequest)
Implement this method to perform real write operation with the specified writeRequest. By default, this method is implemented to set the future to 'not written' immediately.
Parameters:
writeRequest - Write request to make