sig
module Plug :
sig
type t = { name : string; dev : Tools.dev; }
val make : string -> Tools.dev -> Sim.Net.Plug.t
end
type equipment =
Host of Host.host_trx
| Hub of Hub.Repeater.t
| Switch of Hub.Switch.t
| Trx of Tools.trx
type t = {
equip : Sim.Net.equipment list;
mutable plugs : Sim.Net.Plug.t list;
}
val make_empty : unit -> Sim.Net.t
val union : Sim.Net.t list -> Sim.Net.t
val find_named_plug :
Sim.Net.t ->
string option ->
(Sim.Net.Plug.t, [> `Unknown_plug of string option ]) Batteries.Result.t
val connect :
?plug1:string ->
Sim.Net.t ->
?plug2:string ->
Sim.Net.t ->
(unit, [> `Unknown_plug of string option ]) Batteries.Result.t
val make_sink : string -> Sim.Net.t * Thread.t
val make_internet : unit -> Sim.Net.t
val make_simple_lan :
?name:string ->
?nameserver:Ip.Addr.t -> ?public_ip:Ip.Addr.t -> int -> Sim.Net.t
end