Module Transport

type t = {
  1. send : string -> unit;
  2. receive : unit -> string list;
  3. status : unit -> string;
  4. player : unit -> int option;
}
type role =
  1. | Host of {
    1. bind : string;
    2. port : int;
    }
  2. | Join of {
    1. host : string;
    2. port : int;
    }
  3. | Relay of {
    1. host : string;
    2. port : int;
    }
val set_connect : (Cap.network -> role -> (t, string) Stdlib.result) -> unit
val connect : < Cap.network.. > -> role -> (t, string) Stdlib.result
val set_tunnel : (Cap.exec -> host:string -> port:int -> (t, string) Stdlib.result) -> unit
val tunnel : < Cap.exec.. > -> host:string -> port:int -> (t, string) Stdlib.result
val set_tls : (Cap.network -> host:string -> port:int -> (t, string) Stdlib.result) -> unit
val tls : < Cap.network.. > -> host:string -> port:int -> (t, string) Stdlib.result