diff --git a/esds.py b/esds.py index ad08909..148c205 100644 --- a/esds.py +++ b/esds.py @@ -195,11 +195,11 @@ class Simulator: def __init__(self,netmat): """ - Format of netmat: { "interface": {"bandwidth": matrix, "latency": matrix, "is_wired":bool}} - For wireless interfaces the diagonal of the bandwidth and latency matrix are very important. - It determines the duration of the tranmission for THE SENDER. Thus, at each wireless communication, - and addionnal event is created for the sender that corresponds to a send to himself (diagonal of the matrices) used - to unlock him from the api.send() call. Consequently, duration of the transmission can be + Format of netmat: { "interface": {"bandwidth": numpy_matrix, "latency": numpy_matrix, "is_wired":bool}} + For wireless interfaces the diagonals of the bandwidth and latency matrices are very important. + They determine the duration of the tranmission for THE SENDER. It allows to have a different tx duration per node and per interface. + Thus, at each wireless communication, an addionnal event is created for the sender that corresponds to a send to himself (diagonals of the matrices) used + to unlock him from the api.send() call. Consequently, the duration of the transmission (by the sender) can be different from the time at which the receivers actually receive the data (non-diagonal entries of the matrices). """ self.netmat=netmat diff --git a/example/simulator.py b/example/simulator.py index f70c294..aa8df54 100755 --- a/example/simulator.py +++ b/example/simulator.py @@ -16,7 +16,9 @@ import numpy as np ##### Bandwidth matrix # Bandwidth value can be 0 for unreachable nodes -# Diagonal entries impact the transmission duration for wireless transmissions (wlan0) +# Regarding wireless interfaces the diagonals of the bandwidth and latency matrices are very important. +# They determine the duration of the tranmission for THE SENDER. It allows to have a different tx +# duration per node and per interface. Please cf esds.py for more informations. n=2 # Number of nodes including the sender B=np.full((n,n),5) # 5Mbps @@ -26,6 +28,8 @@ B=np.full((n,n),5) # 5Mbps L=np.full((n,n),0) # 0s ##### Create the simulator +# esds.Simulator take at least a dictionnary as a parameter +# This dictionnary contains all the network interfaces (name as a key) of each node s=esds.Simulator({"wlan0":{"bandwidth":B, "latency":L, "is_wired":False},"eth0":{"bandwidth":B, "latency":L, "is_wired":True}}) ##### Instantiate nodes