From 01ab7ba6e27e0b7350e9f6da5b7096fa0a7b0d70 Mon Sep 17 00:00:00 2001 From: Graeme Winter Date: Sun, 21 May 2023 21:32:42 +0100 Subject: [PATCH] iperf3: Add compatibility for servers pre version 3.2. Result message from servers pre version 3.2 do not encode start or end time, so workaround this by using the t3, t0 timestamps used elsewhere for sending. Fixes issue #665. --- python-ecosys/iperf3/iperf3.py | 10 +++++++--- python-ecosys/iperf3/manifest.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/python-ecosys/iperf3/iperf3.py b/python-ecosys/iperf3/iperf3.py index 71e4dae1..62ee0168 100644 --- a/python-ecosys/iperf3/iperf3.py +++ b/python-ecosys/iperf3/iperf3.py @@ -147,10 +147,14 @@ class Stats: def report_receiver(self, stats): st = stats["streams"][0] - dt = st["end_time"] - st["start_time"] + + # iperf servers pre 3.2 do not transmit start or end time, + # so use local as fallback if not available. + dt = ticks_diff(self.t3, self.t0) + self.print_line( - st["start_time"], - st["end_time"], + st.get("start_time", 0.0), + st.get("end_time", dt * 1e-6), st["bytes"], st["packets"], st["errors"], diff --git a/python-ecosys/iperf3/manifest.py b/python-ecosys/iperf3/manifest.py index 3f2e2623..06964ce2 100644 --- a/python-ecosys/iperf3/manifest.py +++ b/python-ecosys/iperf3/manifest.py @@ -1,3 +1,3 @@ -metadata(version="0.1.3", pypi="iperf3", pypi_publish="uiperf3") +metadata(version="0.1.4", pypi="iperf3", pypi_publish="uiperf3") module("iperf3.py")