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:
Closeable
,AutoCloseable
,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
FieldsModifier and TypeFieldDescriptionprivate final Channel
private final byte
private final Object
private final ChannelStreamWriter
private final AtomicReference<IoWriteFutureImpl>
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected Buffer
createSendBuffer
(Buffer buffer, Channel channel, long length) protected CloseFuture
protected void
doWriteIfPossible
(boolean resume) void
protected void
onWritten
(IoWriteFutureImpl future, int total, long length, IoWriteFuture f) protected void
preClose()
preClose is guaranteed to be called before doCloseGracefully or doCloseImmediately.toString()
writeBuffer
(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 Details
-
channelInstance
-
packetWriter
-
cmd
private final byte cmd -
pendingWrite
-
packetWriteId
-
-
Constructor Details
-
ChannelAsyncOutputStream
-
-
Method Details
-
getChannel
- Specified by:
getChannel
in interfaceChannelHolder
- Returns:
- The associated
Channel
instance
-
onWindowExpanded
- Throws:
IOException
-
writeBuffer
Description copied from interface:IoOutputStream
Write the given buffer.- Specified by:
writeBuffer
in interfaceIoOutputStream
- Parameters:
buffer
- the data to write. NOTE: the buffer must not be touched until the returned write future is completed.- Returns:
- An
IoWriteFuture
that can be used to check when the data has actually been written. - Throws:
IOException
- if an error occurred when writing the data
-
preClose
protected void preClose()Description copied from class:AbstractCloseable
preClose is guaranteed to be called before doCloseGracefully or doCloseImmediately. When preClose() is called, isClosing() == true- Overrides:
preClose
in classAbstractCloseable
-
doCloseGracefully
- Overrides:
doCloseGracefully
in classAbstractCloseable
-
doWriteIfPossible
protected void doWriteIfPossible(boolean resume) -
onWritten
-
createSendBuffer
-
toString
-