X-Git-Url: http://nitlanguage.org?ds=sidebyside diff --git a/tests/bench_netsim.nit b/tests/bench_netsim.nit index 6a9ade7..ae42bee 100644 --- a/tests/bench_netsim.nit +++ b/tests/bench_netsim.nit @@ -23,7 +23,7 @@ class Node end class WakeUpNode -special Node + super Node fun wake_up is abstract # Wake up the node fun wake_up_in(d: Int) @@ -32,16 +32,16 @@ special Node _scheduler.add_event(self, d) end var _scheduler: Scheduler + init do end end class NodeSource -special Node + super Node var _nexts: nullable ArraySet[NodeSink] = null fun attach(n: NodeSink) # Add the sink `n' the the connected nodes # Do nothing if `n' is already connected do - assert n != null # Create the collection if needed if _nexts == null then _nexts = new ArraySet[NodeSink] @@ -53,7 +53,6 @@ special Node # Remove the sink `n' from the connected nodes # Do nothing if `n' is not connected do - assert n != null _nexts.remove(n) end @@ -70,7 +69,7 @@ special Node end class NodeSink -special Node + super Node fun recieve(n: NodeSource) is abstract # the `n' has emeted a signal end @@ -109,7 +108,7 @@ class Scheduler fun run_for(time_limit: Int) do - while true do + loop var node = next_event if _time > time_limit then print("Time limit.") @@ -131,8 +130,8 @@ end # class BeepSource -special NodeSource -special WakeUpNode + super NodeSource + super WakeUpNode redef fun wake_up do send @@ -153,16 +152,16 @@ special WakeUpNode end class CountSink -special NodeSink - readable var _count: Int = 0 + super NodeSink + var count: Int = 0 redef fun recieve(n: NodeSource) do - _count = _count + 1 + count = count + 1 end end class SimpleCountSink -special CountSink + super CountSink init(name: String) do @@ -171,8 +170,8 @@ special CountSink end class NodeAlternate -special NodeSink -special NodeSource + super NodeSink + super NodeSource var _last: nullable NodeSource redef fun recieve(n: NodeSource) do @@ -189,17 +188,17 @@ special NodeSource end class NodeEat -special CountSink -special NodeSource + super CountSink + super NodeSource var _limit: Int redef fun recieve(n: NodeSource) do - var c = _count + 1 + var c = count + 1 if c >= _limit then - _count = 0 + count = 0 send else - _count = c + count = c end end @@ -211,9 +210,9 @@ special NodeSource end class NodeDelay -special NodeSource -special NodeSink -special WakeUpNode + super NodeSource + super NodeSink + super WakeUpNode var _delay: Int redef fun recieve(n: NodeSource) do