crdt library in ocaml implementing json-joy
at main 772 B view raw
1(** Session ID constants and validation. 2 3 Session IDs are 53-bit safe integers used to identify different 4 replicas/clients in the CRDT system. *) 5 6(** Reserved session ID for system use *) 7let system = 0 8 9(** Session ID for server clock mode *) 10let server = 1 11 12(** Session ID for global/schema patches *) 13let global = 2 14 15(** Session ID for local-only data *) 16let local = 3 17 18(** Maximum valid session ID (53-bit limit for JavaScript compatibility) *) 19let max_id = 9007199254740991 (* 2^53 - 1 *) 20 21(** Check if a session ID is valid *) 22let is_valid sid = sid >= 0 && sid <= max_id 23 24(** Check if a session ID is reserved (0-3) *) 25let is_reserved sid = sid >= 0 && sid <= 3 26 27(** Check if a session ID is for user sessions *) 28let is_user sid = sid > 3 && sid <= max_id