https://gitlab.synchro.net/main/sbbs/-/commit/cbffacab16dfcd53a7171067
Modified Files:
ctrl/text.dat docs/v322_new.md exec/load/text.js src/sbbs3/atcodes.cpp date_str.c date_str.h download.cpp getmsg.cpp listfile.cpp sbbs.h sftp.cpp text.h text_defaults.c text_id.c upload.cpp
Log Message:
Show the duration and rate of single-file transfers
After a single-file upload or download the terminal server now prints, for example:
AP180701.ZIP (1,568,203 bytes) sent in 0:01:42 (15,374 cps).
using two new text strings, FileSentIn and FileReceivedIn. They are built
from @-codes rather than printf specifiers, so a sysop can choose the
format. Batch and SFTP transfers, where the per-file duration isn't known,
keep the FileNBytesSent / FileNBytesReceived message.
New @-codes describe the most recent file transfer:
@XFER_TIME[:fmt]@ duration, any duration format (default "!", 0:01:42)
@XFER_CPS[:fmt]@ rate, any byte-count format (default B, bytes/second)
@XFER_PROT@ protocol name ("SFTP" for SFTP transfers)
@XFER_TIME@ and @XFER_CPS@ are empty when the duration is not known.
The new strings use @FILE_NAME@ and @FILE_BYTES@. Message-attachment
downloads and sendfile() by path (e.g. bbs.send_file()) have no file-base record, so they supply a temporary one holding the name and size; without
it @FILE_NAME@ would expand to the QWK packet name.
New duration format letter E: words down to the second ("1 minute 42
seconds", "1 hour 30 minutes 5 seconds"). The existing word formats (W, D) count whole minutes, which renders most transfer times as "0 minutes".
Fixes #1158
Co-Authored-By: Claude Opus 5.5 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net