mirror of
https://gitlab.com/manzerbredes/esds.git
synced 2025-04-07 02:26:28 +02:00
Refactoring
This commit is contained in:
parent
838e48438c
commit
6b697fa14f
1 changed files with 10 additions and 10 deletions
|
@ -123,7 +123,7 @@ class Simulator:
|
||||||
sorted_indexes=np.lexsort((self.events[:,3],self.events[:,1]))
|
sorted_indexes=np.lexsort((self.events[:,3],self.events[:,1]))
|
||||||
self.events=self.events[sorted_indexes]
|
self.events=self.events[sorted_indexes]
|
||||||
|
|
||||||
def sync_node(self,node):
|
def sync_node_non_blocking(self,node):
|
||||||
"""
|
"""
|
||||||
Process all call request and wait for Node.sync() to return
|
Process all call request and wait for Node.sync() to return
|
||||||
"""
|
"""
|
||||||
|
@ -263,7 +263,7 @@ class Simulator:
|
||||||
self.log("Interferences on "+interface,node=node)
|
self.log("Interferences on "+interface,node=node)
|
||||||
return status
|
return status
|
||||||
|
|
||||||
def sync_event(self, node):
|
def sync_node_blocking(self, node):
|
||||||
"""
|
"""
|
||||||
Collect events from the nodes
|
Collect events from the nodes
|
||||||
"""
|
"""
|
||||||
|
@ -283,8 +283,8 @@ class Simulator:
|
||||||
node["state"]="running"
|
node["state"]="running"
|
||||||
node.rqueue.put(("receive",0))
|
node.rqueue.put(("receive",0))
|
||||||
# Do not forget to collect the next event. This is the only request which is processed here
|
# Do not forget to collect the next event. This is the only request which is processed here
|
||||||
self.sync_node(node)
|
self.sync_node_non_blocking(node)
|
||||||
self.sync_event(node)
|
self.sync_node_blocking(node)
|
||||||
elif node["request"] == "wait_end":
|
elif node["request"] == "wait_end":
|
||||||
node["state"]="pending"
|
node["state"]="pending"
|
||||||
node.rqueue.put(("wait_end",0))
|
node.rqueue.put(("wait_end",0))
|
||||||
|
@ -355,10 +355,10 @@ class Simulator:
|
||||||
while True:
|
while True:
|
||||||
# Synchronize every nodes
|
# Synchronize every nodes
|
||||||
for node in self.nodes:
|
for node in self.nodes:
|
||||||
self.sync_node(node)
|
self.sync_node_non_blocking(node)
|
||||||
# Manage events
|
# Manage events
|
||||||
for node in self.nodes:
|
for node in self.nodes:
|
||||||
self.sync_event(node)
|
self.sync_node_blocking(node)
|
||||||
# Generate debug logs
|
# Generate debug logs
|
||||||
if debug:
|
if debug:
|
||||||
self.debug()
|
self.debug()
|
||||||
|
@ -369,7 +369,7 @@ class Simulator:
|
||||||
for node_id in self.wait_end_nodes:
|
for node_id in self.wait_end_nodes:
|
||||||
self.nodes[node_id]["state"]="running"
|
self.nodes[node_id]["state"]="running"
|
||||||
self.nodes[node_id].rqueue.put(("sim_end",0))
|
self.nodes[node_id].rqueue.put(("sim_end",0))
|
||||||
self.sync_node(self.nodes[node_id]) # Allow them for make call requests (printing logs for example)
|
self.sync_node_non_blocking(self.nodes[node_id]) # Allow them for make call requests (printing logs for example)
|
||||||
break # End the event processing loop
|
break # End the event processing loop
|
||||||
|
|
||||||
# Update simulation time
|
# Update simulation time
|
||||||
|
@ -396,7 +396,7 @@ class Simulator:
|
||||||
dst["interfaces_queue_size"][interface]-=1
|
dst["interfaces_queue_size"][interface]-=1
|
||||||
dst["state"]="running"
|
dst["state"]="running"
|
||||||
dst.rqueue.put(("receive",0))
|
dst.rqueue.put(("receive",0))
|
||||||
self.sync_node(dst)
|
self.sync_node_non_blocking(dst)
|
||||||
src["state"]="running"
|
src["state"]="running"
|
||||||
src.rqueue.put(("send",0))
|
src.rqueue.put(("send",0))
|
||||||
else:
|
else:
|
||||||
|
@ -409,7 +409,7 @@ class Simulator:
|
||||||
dst["interfaces_queue_size"][interface]-=1
|
dst["interfaces_queue_size"][interface]-=1
|
||||||
dst["state"]="running"
|
dst["state"]="running"
|
||||||
dst.rqueue.put(("receive",0))
|
dst.rqueue.put(("receive",0))
|
||||||
self.sync_node(dst)
|
self.sync_node_non_blocking(dst)
|
||||||
else:
|
else:
|
||||||
src["state"]="running"
|
src["state"]="running"
|
||||||
src.rqueue.put(("send",0))
|
src.rqueue.put(("send",0))
|
||||||
|
@ -417,7 +417,7 @@ class Simulator:
|
||||||
node=self.nodes[int(event)]
|
node=self.nodes[int(event)]
|
||||||
node["state"]="running"
|
node["state"]="running"
|
||||||
node.rqueue.put(("timeout",0))
|
node.rqueue.put(("timeout",0))
|
||||||
self.sync_node(node)
|
self.sync_node_non_blocking(node)
|
||||||
elif event_type == 2 or event_type == 3:
|
elif event_type == 2 or event_type == 3:
|
||||||
breakpoint_callback(self)
|
breakpoint_callback(self)
|
||||||
if event_type == 3:
|
if event_type == 3:
|
||||||
|
|
Loading…
Add table
Reference in a new issue