Server JSON Output Does Not Report Client's Results #1908
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PLEASE NOTE the following text from the iperf3 license. Submitting a
pull request to the iperf3 repository constitutes "[making]
Enhancements available...publicly":
The complete iperf3 license is available in the
LICENSE
file in thetop directory of the iperf3 source tree.
Version of iperf3 (or development branch, such as
master
or3.1-STABLE
) to which this pull request applies:master
Issues fixed (if any): iperf/#1410
Brief description of code changes (suitable for use as a commit message):
On the
iperf
server, no results are displayed from the client's side, even though this information is sent to the server. It appears that the reporter callback was called prior to setting the test state toDISPLAY_RESULTS
. Moving the call to the reporter callback function to after that state is set seems to fix the issue, as I can now see the client's results displayed in the server's JSON output.Server JSON
Client JSON
Update 07-14-2025
My first round of changes were breaking. Moving the call to the reporter callback function would break
--get-server-output
by leaving theend
section empty. The root of this issue is that the server calls the callback BEFORE receiving results from the client as part ofiperf_exchange_results
. The expected behavior for the server is as follows:EXCHANGE_RESULTS
.The latest changes reflect this flow, and a change to the report callback was made to also trigger for the
EXCHANGE_RESULTS
test state. I have not thoroughly tested how that change impacts other areas of the code, so I would definitely appreciate any thoughts for concern there from the maintainers.Server JSON
Client JSON