sig
type 'a t
val connect :
?timeout:float ->
?ping:string -> string -> int -> 'a -> 'a Procord_connection.t
val update : 'a Procord_connection.t -> unit
type state =
Connecting
| Connected
| Disconnecting
| Disconnected of (Unix.error * string * string) option
val state : 'a Procord_connection.t -> Procord_connection.state
val alive : 'a Procord_connection.t -> bool
val send : 'a Procord_connection.t -> string -> unit
val receive : 'a Procord_connection.t -> int -> string option
val receive_poll : 'a Procord_connection.t -> int -> int -> string option
val receive_poll_part : 'a Procord_connection.t -> int -> int -> string
val receive_all : 'a Procord_connection.t -> string
val receive_part : 'a Procord_connection.t -> int -> string
val receive_forget : 'a Procord_connection.t -> int -> unit
val receive_buffer_length : 'a Procord_connection.t -> int
val receive_buffer_empty : 'a Procord_connection.t -> bool
val close : 'a Procord_connection.t -> unit
val close_nicely : ?timeout:float -> 'a Procord_connection.t -> unit
val data : 'a Procord_connection.t -> 'a
val timeout : 'a Procord_connection.t -> float option
module Sync :
sig
val connect :
?timeout:float ->
?ping:string -> string -> int -> 'a -> 'a Procord_connection.t
val close_nicely : ?timeout:float -> 'a Procord_connection.t -> unit
val send : 'a Procord_connection.t -> string -> unit
val receive : 'a Procord_connection.t -> int -> string option
end
val remote_address : 'a Procord_connection.t -> Unix.sockaddr
val make_address : string -> Unix.inet_addr
type 'a set
val empty_set : unit -> 'a Procord_connection.set
val accept_into_set :
?timeout:float ->
?ping:string ->
Unix.file_descr ->
(Unix.sockaddr -> 'a option) -> 'a Procord_connection.set -> unit
val update_set : 'a Procord_connection.set -> unit
val iter :
'a Procord_connection.set -> ('a Procord_connection.t -> unit) -> unit
type waiter
val waiter : 'a Procord_connection.t -> Procord_connection.waiter
val waiter_of_listening_socket :
Unix.file_descr -> Procord_connection.waiter
val waiter_of_set : 'a Procord_connection.set -> Procord_connection.waiter
val waiter_custom :
?read:Unix.file_descr list ->
?write:Unix.file_descr list ->
?except:Unix.file_descr list -> unit -> Procord_connection.waiter
val waiter_of_list :
Procord_connection.waiter list -> Procord_connection.waiter
val instanciate_waiter :
Procord_connection.waiter ->
Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
val wait : ?timeout:float -> Procord_connection.waiter -> bool
val wait' : ?timeout:float -> Procord_connection.waiter -> unit
val custom :
?timeout:float ->
?ping:string ->
?input:Unix.file_descr ->
?output:Unix.file_descr ->
?remote_address:Unix.sockaddr -> 'a -> 'a Procord_connection.t
end