Package org.apache.sshd.common.channel
Class Window
java.lang.Object
org.apache.sshd.common.util.logging.AbstractLoggingBean
org.apache.sshd.common.channel.Window
- All Implemented Interfaces:
Closeable,AutoCloseable,ChannelHolder
- Direct Known Subclasses:
LocalWindow,RemoteWindow
A
Channel implements a sliding window flow control for data packets (SSH_MSG_CHANNEL_DATA and
SSH_MSG_CHANNEL_EXTENDED_DATA packets). Each channel has two windows, a local window describing how much data it is
prepared to receive (and the peer is allowed to send), and a remote window that reflects this side's view of the
peer's local window. When the local window size is zero, no data should be received; when the remote window size is
zero, no data should be sent. Peers update the other's remote window periodically, but at the latest when a window is
exhausted, by sending SSH_MSG_CHANNEL_WINDOW_ADJUST messages.- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Channelprivate final AtomicBooleanprivate final AtomicBooleanprotected final Objectprivate longprivate longprivate longprivate final StringFields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheckInitialized(String location) voidclose()abstract voidconsume(long len) longlonglonggetSize()protected voidinit(long size, long packetSize, PropertyResolver resolver) booleanisOpen()largerThan(long minSize) toString()protected voidupdateSize(long size)
-
Field Details
-
lock
-
closed
-
initialized
-
channelInstance
-
suffix
-
size
private long size -
maxSize
private long maxSize -
packetSize
private long packetSize
-
-
Constructor Details
-
Window
-
-
Method Details
-
largerThan
-
getChannel
- Specified by:
getChannelin interfaceChannelHolder- Returns:
- The associated
Channelinstance
-
getSize
public long getSize() -
getMaxSize
public long getMaxSize() -
getPacketSize
public long getPacketSize() -
init
-
consume
- Throws:
IOException
-
updateSize
protected void updateSize(long size) -
checkInitialized
-
isOpen
public boolean isOpen() -
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Throws:
IOException
-
toString
-