Improves behaviour when send-buffers are filled:
- these packets are no longer considered lost; a
sends_blocked
field has been added to count the number of occurrences - if any sends were blocked, the warning message "throughput throttled by buffer limitations" will be added to the summary in non-JSON mode
- messages appear with WARNING-level severity on the sender's side when a send is blocked
If interacting with a pre-0.1.8 peer,sends_blocked
will be set to 0 to allow for interoperability during the upgrade process.
Improves loss-reporting:
- when a UDP receiver observes loss, an INFO-level log-message will be generated on the receiver's side, indicating the size of the gap
- this is not reflected in the protocol itself, since a lossy connection is likely to have many gaps, and they may be backfilled through out-of-order observation, leading to a very complex structure, but this may be helpful in determining the nature of a network failure when using rperf interactively
Improves end-of-test UDP signaling:
- previously, a burst of five packets were naively emitted at the end of a test; these now respect send-buffers to ensure all five are actually written to the networking stack
UDP jitter is now calculated based on the longest unbroken sequence in each interval, rather than the last.