swim protocol in ocaml interoperable with membership lib and serf cli
at main 463 B view raw
1open Types 2 3type item = { 4 msg : protocol_msg; 5 transmits : int Kcas.Loc.t; 6 created : Mtime.span; 7} 8 9type t 10 11val create : unit -> t 12 13val enqueue : 14 t -> protocol_msg -> transmits:int -> created:Mtime.span -> limit:int -> unit 15 16val depth : t -> int 17 18val drain : 19 t -> max_bytes:int -> encode_size:(protocol_msg -> int) -> protocol_msg list 20 21val invalidate : 22 t -> 23 invalidates:(newer:protocol_msg -> older:protocol_msg -> bool) -> 24 protocol_msg -> 25 unit