this repo has no description
at main 1.1 kB view raw
1open Types 2 3type 'a transition = { 4 new_state : 'a; 5 broadcasts : protocol_msg list; 6 events : node_event list; 7} 8 9val no_change : 'a -> 'a transition 10val node_id_of_msg : protocol_msg -> node_id 11val incarnation_of_msg : protocol_msg -> incarnation option 12 13val handle_alive : 14 self:node_id -> 15 member_snapshot -> 16 protocol_msg -> 17 now:Mtime.span -> 18 member_snapshot transition 19 20val handle_suspect : 21 self:node_id -> 22 member_snapshot -> 23 protocol_msg -> 24 now:Mtime.span -> 25 member_snapshot transition 26 27val handle_dead : 28 member_snapshot -> 29 protocol_msg -> 30 now:Mtime.span -> 31 member_snapshot transition 32 33val suspicion_timeout : config -> node_count:int -> float 34val retransmit_limit : config -> node_count:int -> int 35 36val next_probe_target : 37 self:node_id -> 38 probe_index:int -> 39 members:node_info list -> 40 (node_info * int) option 41 42val invalidates : newer:protocol_msg -> older:protocol_msg -> bool 43 44val merge_member_state : 45 local:member_snapshot -> remote:member_snapshot -> member_snapshot 46 47val select_indirect_targets : 48 self:node_id -> 49 exclude:node_id -> 50 count:int -> 51 members:node_info list -> 52 node_info list