• Rob Swindell's avatar
    ZMODEM Window Management support · 483c86de
    Rob Swindell authored
    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.
    483c86de