diff options
Diffstat (limited to 'tests/mobility_wlan0_latency_1s1r')
| -rwxr-xr-x | tests/mobility_wlan0_latency_1s1r/mobility.py | 7 | ||||
| -rw-r--r-- | tests/mobility_wlan0_latency_1s1r/platform.yaml | 37 | ||||
| -rwxr-xr-x | tests/mobility_wlan0_latency_1s1r/simulator.py | 40 |
3 files changed, 44 insertions, 40 deletions
diff --git a/tests/mobility_wlan0_latency_1s1r/mobility.py b/tests/mobility_wlan0_latency_1s1r/mobility.py new file mode 100755 index 0000000..bb245e7 --- /dev/null +++ b/tests/mobility_wlan0_latency_1s1r/mobility.py @@ -0,0 +1,7 @@ +#!/usr/bin/env python + +def callback(simulator): + simulator.log("Network update!") + B=simulator.netmat["wlan0"]["bandwidth"] + new_lat_wlan0=simulator.netmat["wlan0"]["latency"]+1/2 + simulator.update_network({"wlan0":{"bandwidth":B, "latency":new_lat_wlan0, "is_wired":False}}) diff --git a/tests/mobility_wlan0_latency_1s1r/platform.yaml b/tests/mobility_wlan0_latency_1s1r/platform.yaml new file mode 100644 index 0000000..ba70d98 --- /dev/null +++ b/tests/mobility_wlan0_latency_1s1r/platform.yaml @@ -0,0 +1,37 @@ +########## Scenario ########## +# Notations: +# - Remaining communication duration (last communication ends minus current simulated time) = C +# - Last communication duration (previous row) = U +# - Last remaining data size (previous row) = D +# - Current remaining data (current row) = R +# - Initial data size (first row) = I +# - Bandwidth = BW +# - Latency = L +# |-------------------+------------+----------------+----------------------+---------------------------+--------------------------| +# | Simulated time(s) | Latency(s) | Bandwidth(bps) | Remaining data (bit) | Communication duration(s) | Communication ends at(s) | +# |-------------------+------------+----------------+----------------------+---------------------------+--------------------------| +# | 0 | 0 | 8 | 8 | 1 | 1 | +# | 0.5 | 0 | 16 | C/U*D = 4 | R/I * L + R/BW = 0.25 | 0.75 | +# | 0.75 | 0 | 16 | | | | +# |-------------------+------------+----------------+----------------------+---------------------------+--------------------------| +############################## + +general: + breakpoints_every: 0.5 + breakpoints_callback: + file: "mobility.py" + callback: "callback" + +nodes: + count: 2 + implementations: + - 0 sender.py + - 1 receiver.py + +interfaces: + wlan0: + type: "wireless" + links: + - all 1Bps 0s all + txperfs: + - all 1Bps 0s
\ No newline at end of file diff --git a/tests/mobility_wlan0_latency_1s1r/simulator.py b/tests/mobility_wlan0_latency_1s1r/simulator.py deleted file mode 100755 index 92668f7..0000000 --- a/tests/mobility_wlan0_latency_1s1r/simulator.py +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env python - -# Load ESDS -import esds -import numpy as np - -########## Scenario ########## -# Notations: -# - Remaining communication duration (last communication ends minus current simulated time) = C -# - Last communication duration (previous row) = U -# - Last remaining data size (previous row) = D -# - Current remaining data (current row) = R -# - Initial data size (first row) = I -# - Bandwidth = BW -# - Latency = L -# |-------------------+------------+----------------+----------------------+---------------------------+--------------------------| -# | Simulated time(s) | Latency(s) | Bandwidth(bps) | Remaining data (bit) | Communication duration(s) | Communication ends at(s) | -# |-------------------+------------+----------------+----------------------+---------------------------+--------------------------| -# | 0 | 0 | 8 | 8 | 1 | 1 | -# | 0.5 | 0.5 | 8 | C/U*D = 4 | R/I * L + R/BW = 0.75 | 1.25 | -# | 1 | 1 | 8 | C/U*D = 1.33 | R/I * L + R/BW = 0.33 | 1.33 | -# | 1.33 | 1 | 8 | | | | -# |-------------------+------------+----------------+----------------------+---------------------------+--------------------------| -############################## - -B=np.full((2,2),8) -L=np.full((2,2),0) -s=esds.Simulator({"wlan0":{"bandwidth":B, "latency":L, "is_wired":False}, "eth0":{"bandwidth":B, "latency":L, "is_wired":True}}) - -s.create_node("sender") -s.create_node("receiver") - -def callback(simulator): - simulator.log("Network update!") - new_lat_wlan0=simulator.netmat["wlan0"]["latency"]+1/2 - new_lat_eth0=simulator.netmat["eth0"]["latency"]+1/2 - simulator.update_network({"wlan0":{"bandwidth":B, "latency":new_lat_wlan0, "is_wired":False},"eth0":{"bandwidth":B, "latency":new_lat_eth0, "is_wired":True}}) - - -s.run(breakpoints_every=1/2,breakpoint_callback=callback) |
