diff options
| author | thibauth <thibauth@30fcff6e-8de6-41c7-acce-77ff6d1dd07b> | 2011-07-24 16:28:31 +0000 |
|---|---|---|
| committer | thibauth <thibauth@30fcff6e-8de6-41c7-acce-77ff6d1dd07b> | 2011-07-24 16:28:31 +0000 |
| commit | a8b2b37331c7867798da8236fee816d44bf02b45 (patch) | |
| tree | 6dbfac406c705a90e03054e6d6b00dc927846b70 | |
| parent | c00eb0c94b16883eee98ce675f7e90cf2193e0c9 (diff) | |
| download | pacemaker-a8b2b37331c7867798da8236fee816d44bf02b45.tar.gz | |
Fix a bug in pulse broadcast
git-svn-id: https://scm.gforge.inria.fr/svn/pacemaker@47 30fcff6e-8de6-41c7-acce-77ff6d1dd07b
| -rw-r--r-- | sources/thibaut/clientGlobals.ml | 10 | ||||
| -rw-r--r-- | sources/thibaut/clientMessages.ml | 5 |
2 files changed, 10 insertions, 5 deletions
diff --git a/sources/thibaut/clientGlobals.ml b/sources/thibaut/clientGlobals.ml index 9440a1a..6ded853 100644 --- a/sources/thibaut/clientGlobals.ml +++ b/sources/thibaut/clientGlobals.ml @@ -29,18 +29,22 @@ let string_of_sockaddr a = match a with | ADDR_INET(a,p) -> Printf.sprintf "%s:%d" (string_of_inet_addr a) p | _ -> "" -let print_sockaddr_list l = +let print_list f l = let result = Buffer.create 100 in Printf.bprintf result "["; let rec aux l = match l with | [] -> () - | [t] -> Printf.bprintf result "%s" (string_of_sockaddr t) - | t::q -> Printf.bprintf result "%s," (string_of_sockaddr t); aux q + | [t] -> Printf.bprintf result "%s" (f t) + | t::q -> Printf.bprintf result "%s," (f t); aux q in aux l; Printf.bprintf result "]"; Buffer.contents result +let print_sockaddr_list l = print_list string_of_sockaddr l +let print_user_map m = print_list (function a,b -> Printf.sprintf "%d|%d" a b) + (UserMap.bindings m) + let string_of_message m = match m with | Ping -> "Ping" | Pong -> "Pong" diff --git a/sources/thibaut/clientMessages.ml b/sources/thibaut/clientMessages.ml index 7d379ab..1fd86d0 100644 --- a/sources/thibaut/clientMessages.ml +++ b/sources/thibaut/clientMessages.ml @@ -173,15 +173,16 @@ let process_message time s addr = | [] -> () | h::t -> try - let hash = UserMap.find message.id h in + let hash = UserMap.find my_id h in let hmap = find_reply hash data.replies in - if verify_branch branch then + if verify_branch branch then begin let branch2 = hmap::branch in let message = Pulse(round,seed,branch2) in if data.phase = SEEDING then begin data.phase <- PULSE; end; send_to_all message; + end with | Not_found -> () with |
