include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> tval sexp_of_t : t -> Sexplib0.Sexp.tval make_fixed : Macaddr.t -> Ipaddr.V4.t -> duration:int32 -> now:int32 -> tval timeleft : t -> now:int32 -> int32val timeleft_exn : t -> now:int32 -> int32val timeleft3 : t -> float -> float -> now:int32 -> int32 * int32 * int32val expired : t -> now:int32 -> boolval to_string : t -> stringval make_db : unit -> databaseval lease_of_client_id : Dhcp_wire.client_id -> database -> t optionval lease_of_addr : Ipaddr.V4.t -> database -> t optionval addr_allocated : Ipaddr.V4.t -> database -> boolval addr_available : Ipaddr.V4.t -> database -> now:int32 -> boolval get_usable_addr : Dhcp_wire.client_id -> database -> (Ipaddr.V4.t * Ipaddr.V4.t) option -> now:int32 -> Ipaddr.V4.t option