Details
Description
Following SSHD-754 and SSHD-768 an optional throttling mechanism has been introduced for STDIN/STDOUT/STDERR channel streams. This mechanism is currently optional and requires initial setup by the user code. We should consider reversing this and making it automatic (unless disabled by the user). The following mechanisms should be considered:
- none - same as current situation
- default - ThrottlingPacketWriter
- window-based - One that examines the window size and decides according to some threshold whether to throttle or not (and how). Note: in this context, we would need to be made aware when the window size changes due to SSH_MSG_CHANNEL_WINDOW_ADJUST messages (see AbstractChannel#handleWindowAdjust).
- client-based - Detect the used client and apply throttling policy accordingly (e.g., TortoisePlink)