Module type Irc_transport.IO

module type IO = sig .. end

type 'a t 
val (>>=) : 'a t ->
('a -> 'b t) -> 'b t
val return : 'a -> 'a t
type file_descr 
A connection to the remote IRC server
type inet_addr 
Remote addresses
type config 
Additional configuration, on a per-connection basis.
val open_socket : ?config:config ->
inet_addr ->
int -> file_descr t
val close_socket : file_descr -> unit t
val read : file_descr ->
Bytes.t -> int -> int -> int t
val write : file_descr ->
Bytes.t -> int -> int -> int t
val read_with_timeout : timeout:int ->
file_descr ->
Bytes.t -> int -> int -> int option t
read_with_timeout ~timeout fd buf off len returns Some n if it could read n bytes into buf (slice off,...,off+len-1), or None if nothing was read before timeout seconds.
val gethostbyname : string -> inet_addr list t
List of IPs that correspond to the given hostname (or an empty list if none is found)
val iter : ('a -> unit t) -> 'a list -> unit t
val sleep : int -> unit t
val pick : ('a t list -> 'a t) option
OPTIONAL pick l returns the first thread of l that terminates (and might cancel the others)