diff options
Diffstat (limited to 'tests/mobility_eth0_latency_1s1r')
| -rw-r--r-- | tests/mobility_eth0_latency_1s1r/out | 5 | ||||
| -rw-r--r-- | tests/mobility_eth0_latency_1s1r/receiver.py | 5 | ||||
| -rw-r--r-- | tests/mobility_eth0_latency_1s1r/sender.py | 4 | ||||
| -rwxr-xr-x | tests/mobility_eth0_latency_1s1r/simulator.py | 39 |
4 files changed, 53 insertions, 0 deletions
diff --git a/tests/mobility_eth0_latency_1s1r/out b/tests/mobility_eth0_latency_1s1r/out new file mode 100644 index 0000000..ef56e0f --- /dev/null +++ b/tests/mobility_eth0_latency_1s1r/out @@ -0,0 +1,5 @@ +[t=0.000,src=n0] Send 1 bytes to n1 on eth0 +[t=0.500,src=esds] Network update! +[t=1.000,src=esds] Network update! +[t=1.333,src=n1] Receive 1 bytes on eth0 +[t=1.333,src=esds] Simulation ends diff --git a/tests/mobility_eth0_latency_1s1r/receiver.py b/tests/mobility_eth0_latency_1s1r/receiver.py new file mode 100644 index 0000000..0b48f12 --- /dev/null +++ b/tests/mobility_eth0_latency_1s1r/receiver.py @@ -0,0 +1,5 @@ +#!/usr/bin/env python + +def execute(api): + pass + diff --git a/tests/mobility_eth0_latency_1s1r/sender.py b/tests/mobility_eth0_latency_1s1r/sender.py new file mode 100644 index 0000000..753ccce --- /dev/null +++ b/tests/mobility_eth0_latency_1s1r/sender.py @@ -0,0 +1,4 @@ +#!/usr/bin/env python + +def execute(api): + api.send("eth0","Hello World!",1,1) diff --git a/tests/mobility_eth0_latency_1s1r/simulator.py b/tests/mobility_eth0_latency_1s1r/simulator.py new file mode 100755 index 0000000..525bb66 --- /dev/null +++ b/tests/mobility_eth0_latency_1s1r/simulator.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python + +# Load ESDS +import sys +sys.path.append("../../") +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) | Communcation duration(s) | Communcation 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(B,L) + +s.create_node("sender") +s.create_node("receiver") + +def callback(simulator): + simulator.log("Network update!") + simulator.update_network(simulator.B,simulator.L+1/2) + +s.run(breakpoints_every=1/2,breakpoint_callback=callback) |
