https://gitlab.synchro.net/main/sbbs/-/commit/483c86debf4357fbdcf83bf2
Modified Files:
src/sbbs3/sexyz.c zmodem.c zmodem.h
Log Message:
ZMODEM Window Management support
The default is still full-streaming mode. The default can be changed by
setting [ZMODEM] MaxWindowSize in sexyz.ini to a maximum window size to
use by default (e.g. "100K"). Additionally, a [ZMODDEM] TargetWindowSize
can be set to a duration (e.g. 60s) to dynamically adjust the maximum
window size to match the through-put rate while keeping the outstanding data in-flight to an estimated "duration". When TargetWindowSize is used, the MaxWindowSize only specifies the *initial* maximum window size.
The new '-w' command-line option can be used to control Window Management support (e.g. over-riding the .ini set default) - by using '-w' or '-w0', Window Management won't be used or by using '-w<max-size>', a maximum window size will be imposed (subject to the TargetWindowSize setting mentioned
above). <max-size> can be specified in bytes or multiples (e.g. "-w100K").
Ths option is similar to the [l]sz '-w' option except no space is expected between '-w' and the (optional) max-size value.
Also new, when receiving [ZMODEM] FullDuplex can be set to FALSE to disable streaming mode: if the RecvBufSize is not set (0), the sender should use the subpacket data length (block size, e.g. 1K) as the segment size. Otherwise, setting FullDuplex=FALSE should produce the same behavior as setting the RecvBufSize would before (the result being the use of "segmented ZMODEM" instead of "streaming ZMODEM").
All sexyz command-line options are case-sensitive now (not just the 'cmds').
A lot of code clean-up in zmodem.c.
Incremented zmodem.c rev to 2.0.
Incremented sexyz version to 3.0.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net