Package org.apache.sshd.common.io.nio2
Class Nio2Session
- java.lang.Object
-
- org.apache.sshd.common.util.logging.AbstractLoggingBean
-
- org.apache.sshd.common.util.closeable.IoBaseCloseable
-
- org.apache.sshd.common.util.closeable.AbstractCloseable
-
- org.apache.sshd.common.io.nio2.Nio2Session
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Channel
,Closeable
,IoSession
,ConnectionEndpointsIndicator
public class Nio2Session extends AbstractCloseable implements IoSession
- Author:
- Apache MINA SSHD Project
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
AbstractCloseable.State
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_READBUF_SIZE
-
Fields inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
closeFuture, futureLock, state
-
Fields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log
-
-
Constructor Summary
Constructors Constructor Description Nio2Session(Nio2Service service, PropertyResolver propertyResolver, IoHandler handler, AsynchronousSocketChannel socket, SocketAddress acceptanceAddress)
-
Method Summary
-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
addCloseFutureListener, builder, close, getFutureLock, isClosed, isClosing, preClose, removeCloseFutureListener
-
Methods inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
debug, debug, debug, debug, debug, error, error, error, error, error, getSimplifiedLogger, info, info, warn, warn, warn, warn, warn, warn, warn, warn
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.sshd.common.Closeable
addCloseFutureListener, close, isClosed, isClosing, isOpen, removeCloseFutureListener
-
-
-
-
Field Detail
-
DEFAULT_READBUF_SIZE
public static final int DEFAULT_READBUF_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Nio2Session
public Nio2Session(Nio2Service service, PropertyResolver propertyResolver, IoHandler handler, AsynchronousSocketChannel socket, SocketAddress acceptanceAddress) throws IOException
- Throws:
IOException
-
-
Method Detail
-
getAttribute
public Object getAttribute(Object key)
- Specified by:
getAttribute
in interfaceIoSession
-
setAttribute
public Object setAttribute(Object key, Object value)
- Specified by:
setAttribute
in interfaceIoSession
-
setAttributeIfAbsent
public Object setAttributeIfAbsent(Object key, Object value)
- Specified by:
setAttributeIfAbsent
in interfaceIoSession
-
removeAttribute
public Object removeAttribute(Object key)
- Specified by:
removeAttribute
in interfaceIoSession
-
getRemoteAddress
public SocketAddress getRemoteAddress()
- Specified by:
getRemoteAddress
in interfaceConnectionEndpointsIndicator
-
getLocalAddress
public SocketAddress getLocalAddress()
- Specified by:
getLocalAddress
in interfaceConnectionEndpointsIndicator
-
getAcceptanceAddress
public SocketAddress getAcceptanceAddress()
- Specified by:
getAcceptanceAddress
in interfaceIoSession
-
getSocket
public AsynchronousSocketChannel getSocket()
-
getIoHandler
public IoHandler getIoHandler()
-
suspend
public void suspend()
Intended for tests simulating a sudden connection drop only! Do not call otherwise.
-
writeBuffer
public IoWriteFuture writeBuffer(Buffer buffer) throws IOException
- Specified by:
writeBuffer
in interfaceIoSession
- Throws:
IOException
-
exceptionCaught
protected void exceptionCaught(Throwable exc)
-
doCloseGracefully
protected CloseFuture doCloseGracefully()
- Overrides:
doCloseGracefully
in classAbstractCloseable
-
doCloseImmediately
protected void doCloseImmediately()
- Overrides:
doCloseImmediately
in classAbstractCloseable
-
getService
public Nio2Service getService()
- Specified by:
getService
in interfaceIoSession
-
shutdownOutputStream
public void shutdownOutputStream() throws IOException
- Specified by:
shutdownOutputStream
in interfaceIoSession
- Throws:
IOException
-
startReading
public void startReading()
-
startReading
public void startReading(int bufSize)
-
startReading
public void startReading(byte[] buf)
-
startReading
public void startReading(byte[] buf, int offset, int len)
-
startReading
public void startReading(ByteBuffer buffer)
-
doReadCycle
protected void doReadCycle(ByteBuffer buffer, Readable bufReader)
-
createReadCycleCompletionHandler
protected Nio2CompletionHandler<Integer,Object> createReadCycleCompletionHandler(ByteBuffer buffer, Readable bufReader)
-
handleReadCycleCompletion
protected void handleReadCycleCompletion(ByteBuffer buffer, Readable bufReader, Nio2CompletionHandler<Integer,Object> completionHandler, Integer result, Object attachment)
-
handleReadCycleFailure
protected void handleReadCycleFailure(ByteBuffer buffer, Readable bufReader, Throwable exc, Object attachment)
-
suspendRead
public void suspendRead()
- Specified by:
suspendRead
in interfaceIoSession
-
resumeRead
public void resumeRead()
- Specified by:
resumeRead
in interfaceIoSession
-
doReadCycle
protected void doReadCycle(ByteBuffer buffer, Nio2CompletionHandler<Integer,Object> completion)
-
startWriting
protected void startWriting()
-
doWriteCycle
protected void doWriteCycle(ByteBuffer buffer, Nio2CompletionHandler<Integer,Object> completion)
-
createWriteCycleCompletionHandler
protected Nio2CompletionHandler<Integer,Object> createWriteCycleCompletionHandler(Nio2DefaultIoWriteFuture future, AsynchronousSocketChannel socket, ByteBuffer buffer)
-
handleCompletedWriteCycle
protected void handleCompletedWriteCycle(Nio2DefaultIoWriteFuture future, AsynchronousSocketChannel socket, ByteBuffer buffer, int writeLen, Nio2CompletionHandler<Integer,Object> completionHandler, Integer result, Object attachment)
-
handleWriteCycleFailure
protected void handleWriteCycleFailure(Nio2DefaultIoWriteFuture future, AsynchronousSocketChannel socket, ByteBuffer buffer, int writeLen, Throwable exc, Object attachment)
-
finishWrite
protected void finishWrite(Nio2DefaultIoWriteFuture future)
-
-