diff options
| author | thibauth <thibauth@30fcff6e-8de6-41c7-acce-77ff6d1dd07b> | 2011-05-27 15:25:00 +0000 |
|---|---|---|
| committer | thibauth <thibauth@30fcff6e-8de6-41c7-acce-77ff6d1dd07b> | 2011-05-27 15:25:00 +0000 |
| commit | ad42e17a4f12a9a6fb131de216a11597f72e1e3c (patch) | |
| tree | 84188485e17cc6461089427f9a610b451aa7bf15 | |
| parent | 622822bf8b91420b28d060f0c47419f6d69aeb0e (diff) | |
| download | pacemaker-ad42e17a4f12a9a6fb131de216a11597f72e1e3c.tar.gz | |
Number of days was set to the peer degree (copy paste bug)
git-svn-id: https://scm.gforge.inria.fr/svn/pacemaker@16 30fcff6e-8de6-41c7-acce-77ff6d1dd07b
| -rw-r--r-- | sources/thibaut/simul.ml | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/sources/thibaut/simul.ml b/sources/thibaut/simul.ml index 560e6e6..a542b4f 100644 --- a/sources/thibaut/simul.ml +++ b/sources/thibaut/simul.ml @@ -75,7 +75,7 @@ let server_init_seed peer round duration = let data = { phase = SEEDING; duration = duration; - seed = Random.int (1 lsl 31); + seed = Random.int (1 lsl 29); hmap = HashMap.empty; included = 0; replies = [] @@ -190,7 +190,7 @@ let seed = ref 0 let arg_list = [ "--peers", Arg.Set_int npeers, " <n> number of peers"; "--degree", Arg.Set_int degree, " <n> maximum number of neighbours"; - "--days", Arg.Set_int degree, " <n> numbers of days"; + "--days", Arg.Set_int days, " <n> numbers of days"; "--tpm", Arg.Set_int tpm, " <n> number of ticks per minute"; "--accuracy", Arg.Set_int accuracy, " <n> number of ticks between rounds"; "--duration", Arg.Set_int duration, " <n> number of ticks during seeding"; @@ -198,34 +198,35 @@ let arg_list = [ ] let _ = - Arg.parse (Arg.align arg_list) (fun s -> ()) ""; + Arg.parse (Arg.align arg_list) (fun s -> ()) "Pacemaker simulator"; Random.init !seed let peers = Array.init !npeers (fun i -> { id = i; - con_state = ON; + con_state = OFF; neighbours = Array.make !degree None; rounds_data = RoundMap.empty; messages = Queue.create(); history = RoundMap.empty }) -let nticks = !days*24*60*(!tpm) +let nticks = (!days)*24*60*(!tpm) let round = ref 0 -let _ = for i = 0 to (nticks-1) do - if i mod !accuracy = 0 then begin - incr round; - server_init_seed peers.(0) !round !duration - end - else if i mod !accuracy = !duration then - server_init_pulse peers.(0) !round; - - do_server peers.(0); - for i = 1 to (!npeers-1) do - let peer = peers.(i) in - if peer.con_state = ON then - do_peer peer +let _ = + for i = 0 to (nticks-1) do + if i mod !accuracy = 0 then begin + incr round; + server_init_seed peers.(0) !round !duration + end + else if i mod !accuracy = !duration then + server_init_pulse peers.(0) !round; + + do_server peers.(0); + for i = 1 to (!npeers-1) do + let peer = peers.(i) in + if peer.con_state = ON then + do_peer peer + done done -done |
