Module Sim_net

type config = {
  1. latency : float;
  2. jitter : float;
  3. loss : float;
  4. duplication : float;
}
val perfect : config
type t
val create : seed:int -> config -> t
val config : t -> config
val set_config : t -> config -> unit
val send : t -> now:float -> src:int -> dst:int -> string -> unit
val receive : t -> now:float -> int -> (int * string) list
type stats = {
  1. sent : int;
  2. lost : int;
  3. duplicated : int;
  4. delivered : int;
  5. reordered : int;
}
val stats : t -> stats