feature request: make client report after specific number of bytes transferred
- Dominant language
- C
- Stars
- 8.8k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
# Context
* Version of iperf3: 3.13
* Hardware: x86
* Operating system (and distribution, if any): Debian 12
# Enhancement Request
* Current behavior
it is currently possible to generate a report every number of seconds using `-i` flag, however, there is no way to report after a specific number of bytes are transferred.
* Desired behavior
provide a new flag to report every number of bytes, for example:
```shell
$ iperf3 --interval-bytes=1M
```
would report after each 1MB was transferred regardless of how much time has elapsed.
it's fine if `-i 0` also needs to be passed along to disable time based intervals
* Implementation notes
i'm using this to generate a sound each time a number of bytes is successfully sent on my phone. this helps me search for reception while traveling in remote areas. more frequent sound means higher bandwidth.
i tried to do this using repeated invocations to `iperf3`, but the startup time (connecting initial server connection/handshake) ends up being the majority of the time and puts an upper bound on the frequency of notifications.
Contributor guide
Research direction
No files or tests are named. Start by locating the client-side `-i` interval handling, byte counters, and command-line option parsing; compare how time-based reports are generated. Done means a new byte-based interval option reports at the requested transfer amount, works with the proposed `-i 0` combination, and preserves existing interval behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- cli, networking
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100