Package org.apache.sshd.common.channel
Class LocalWindow
java.lang.Object
org.apache.sshd.common.util.logging.AbstractLoggingBean
org.apache.sshd.common.channel.Window
org.apache.sshd.common.channel.LocalWindow
- All Implemented Interfaces:
Closeable,AutoCloseable,ChannelHolder
A
Window that describes how much data this side is prepared to receive from the peer. Initialized when the
channel is created. This side reduces the window by the amount of data received on reception; if it receives more
data than allowed, it closes the channel. Once the data received has been processed, for instance, passed on, this
side checks the current window size and if it is low, increases it and sends an SSH_MSG_CHANNEL_WINDOW_ADJUST message
to the peer, who then is allowed to send more data again.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final AtomicLongprivate final AbstractChannelprivate longFields inherited from class org.apache.sshd.common.util.logging.AbstractLoggingBean
log -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconsume(long len) voidinit(PropertyResolver resolver) Initializes theLocalWindowwith the packet and window sizes from theresolver.voidrelease(long len) Updates the window once data that has arrived in a channel has been read, making available room for the sender too send more data, sending a window adjust message if necessary.Methods inherited from class org.apache.sshd.common.channel.Window
checkInitialized, close, getMaxSize, getPacketSize, getSize, init, isOpen, largerThan, toString, updateSize
-
Field Details
-
channel
-
adjustment
-
released
private long released
-
-
Constructor Details
-
LocalWindow
-
-
Method Details
-
getChannel
- Specified by:
getChannelin interfaceChannelHolder- Overrides:
getChannelin classWindow- Returns:
- The associated
Channelinstance
-
init
Initializes theLocalWindowwith the packet and window sizes from theresolver.- Parameters:
resolver- to access properties
-
consume
- Specified by:
consumein classWindow- Throws:
IOException
-
release
Updates the window once data that has arrived in a channel has been read, making available room for the sender too send more data, sending a window adjust message if necessary.- Parameters:
len- length of data read from the channel- Throws:
IOException- if sending a window adjust message fails
-