Package org.apache.sshd.common.channel
Class ChannelAsyncOutputStream
- 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.channel.ChannelAsyncOutputStream
-
- All Implemented Interfaces:
java.io.Closeable,java.lang.AutoCloseable,java.nio.channels.Channel,ChannelHolder,Closeable,IoOutputStream
public class ChannelAsyncOutputStream extends AbstractCloseable implements IoOutputStream, ChannelHolder
-
-
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 private ChannelchannelInstanceprivate bytecmdprivate java.lang.ObjectpacketWriteIdprivate ChannelStreamWriterpacketWriterprivate java.util.concurrent.atomic.AtomicReference<IoWriteFutureImpl>pendingWrite-
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 ChannelAsyncOutputStream(Channel channel, byte cmd)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected BuffercreateSendBuffer(Buffer buffer, Channel channel, long length)protected CloseFuturedoCloseGracefully()protected voiddoWriteIfPossible(boolean resume)ChannelgetChannel()voidonWindowExpanded()protected voidonWritten(IoWriteFutureImpl future, int total, long length, IoWriteFuture f)protected voidpreClose()preClose is guaranteed to be called before doCloseGracefully or doCloseImmediately.java.lang.StringtoString()IoWriteFuturewriteBuffer(Buffer buffer)Write the given buffer.-
Methods inherited from class org.apache.sshd.common.util.closeable.AbstractCloseable
addCloseFutureListener, builder, close, doCloseImmediately, getFutureLock, isClosed, isClosing, 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, close, isClosed, isClosing, isOpen, removeCloseFutureListener
-
-
-
-
Field Detail
-
channelInstance
private final Channel channelInstance
-
packetWriter
private final ChannelStreamWriter packetWriter
-
cmd
private final byte cmd
-
pendingWrite
private final java.util.concurrent.atomic.AtomicReference<IoWriteFutureImpl> pendingWrite
-
packetWriteId
private final java.lang.Object packetWriteId
-
-
Constructor Detail
-
ChannelAsyncOutputStream
public ChannelAsyncOutputStream(Channel channel, byte cmd)
-
-
Method Detail
-
getChannel
public Channel getChannel()
- Specified by:
getChannelin interfaceChannelHolder- Returns:
- The associated
Channelinstance
-
onWindowExpanded
public void onWindowExpanded() throws java.io.IOException- Throws:
java.io.IOException
-
writeBuffer
public IoWriteFuture writeBuffer(Buffer buffer) throws java.io.IOException
Description copied from interface:IoOutputStreamWrite the given buffer.- Specified by:
writeBufferin interfaceIoOutputStream- Parameters:
buffer- the data to write. NOTE: the buffer must not be touched until the returned write future is completed.- Returns:
- An
IoWriteFuturethat can be used to check when the data has actually been written. - Throws:
java.io.IOException- if an error occurred when writing the data
-
preClose
protected void preClose()
Description copied from class:AbstractCloseablepreClose is guaranteed to be called before doCloseGracefully or doCloseImmediately. When preClose() is called, isClosing() == true- Overrides:
preClosein classAbstractCloseable
-
doCloseGracefully
protected CloseFuture doCloseGracefully()
- Overrides:
doCloseGracefullyin classAbstractCloseable
-
doWriteIfPossible
protected void doWriteIfPossible(boolean resume)
-
onWritten
protected void onWritten(IoWriteFutureImpl future, int total, long length, IoWriteFuture f)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-