functor
(P : sig
module AF : Cf_socket.AF
module ST :
sig
type tag_t = [ `SOCK_STREAM ]
val socktype : tag_t Cf_socket.socktype_t
end
val protocol : Cf_socket.protocol_t
end) ->
sig
module P :
sig
module AF :
sig
type tag_t = P.AF.tag_t
type address_t = P.AF.address_t
val domain : tag_t Cf_socket.domain_t
val to_sockaddr : address_t -> tag_t Cf_socket.sockaddr_t
val of_sockaddr : tag_t Cf_socket.sockaddr_t -> address_t
val unspecified : tag_t Cf_socket.sockaddr_t
end
module ST :
sig
type tag_t = [ `SOCK_STREAM ]
val socktype : tag_t Cf_socket.socktype_t
end
val protocol : Cf_socket.protocol_t
end
type t = (P.AF.tag_t, P.ST.tag_t) Cf_socket.t
type address_t = P.AF.address_t
val create : unit -> t
val createpair : unit -> t * t
class basic :
?sock:t ->
unit ->
object
val socket_ : t
method private bind : address_t -> unit
method close : unit
method dup : t
method dup2 : t -> unit
method fd : Unix.file_descr
method private getpeername : address_t
method private getsockname : address_t
method getsockopt :
('a, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'a
method setsockopt :
('b, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'b -> unit
method private shutdown : Unix.shutdown_command -> unit
method socket : t
end
class initiator :
?sock:t ->
?src:address_t ->
address_t ->
object
val socket_ : t
method private bind : address_t -> unit
method close : unit
method connect : unit
method dup : t
method dup2 : t -> unit
method fd : Unix.file_descr
method private getpeername : address_t
method getsockname : address_t
method getsockopt :
('a, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'a
method setsockopt :
('b, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'b -> unit
method private shutdown : Unix.shutdown_command -> unit
method socket : t
end
class listener :
?sock:t ->
address_t ->
object
val socket_ : t
method accept : t * address_t
method private bind : address_t -> unit
method close : unit
method dup : t
method dup2 : t -> unit
method fd : Unix.file_descr
method private getpeername : address_t
method getsockname : address_t
method getsockopt :
('a, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'a
method listen : int -> unit
method setsockopt :
('b, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'b -> unit
method private shutdown : Unix.shutdown_command -> unit
method socket : t
end
class endpoint :
t ->
object
val socket_ : t
method private bind : address_t -> unit
method close : unit
method dup : t
method dup2 : t -> unit
method fd : Unix.file_descr
method getpeername : address_t
method getsockname : address_t
method getsockopt :
('a, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'a
method recv :
?flags:Cf_socket.msg_flags_t -> string -> int -> int -> int
method send :
?flags:Cf_socket.msg_flags_t -> string -> int -> int -> int
method setsockopt :
('b, P.AF.tag_t, P.ST.tag_t) Cf_socket.sockopt_t -> 'b -> unit
method shutdown : Unix.shutdown_command -> unit
method socket : t
end
end