sig
type t
val close : t -> Int_result.unit
val close_noerr : t -> unit
val close_wait : t -> unit Lwt.t
val is_active : t -> bool
val ref' : t -> unit
val unref : t -> unit
val has_ref : t -> bool
val get_send_buffer_size : t -> Int_result.int
val get_send_buffer_size_exn : t -> int
val get_recv_buffer_size : t -> Int_result.int
val get_recv_buffer_size_exn : t -> int
val set_send_buffer_size : t -> int -> Int_result.unit
val set_send_buffer_size_exn : t -> int -> unit
val set_recv_buffer_size : t -> int -> Int_result.unit
val set_recv_buffer_size_exn : t -> int -> unit
val fileno : t -> Unix.file_descr uv_result
val fileno_exn : t -> Unix.file_descr
val to_handle : Uwt.Udp.t -> Uwt.Handle.t
val send_queue_size : Uwt.Udp.t -> int
val send_queue_count : Uwt.Udp.t -> int
val init : unit -> Uwt.Udp.t
val init_ipv4 : unit -> Uwt.Udp.t uv_result
val init_ipv4_exn : unit -> Uwt.Udp.t
val init_ipv6 : unit -> Uwt.Udp.t uv_result
val init_ipv6_exn : unit -> Uwt.Udp.t
val openudp : Unix.file_descr -> Uwt.Udp.t uv_result
val openudp_exn : Unix.file_descr -> Uwt.Udp.t
type mode = Ipv6_only | Reuse_addr
val bind :
?mode:Uwt.Udp.mode list ->
Uwt.Udp.t -> addr:sockaddr -> unit -> Int_result.unit
val bind_exn :
?mode:Uwt.Udp.mode list -> Uwt.Udp.t -> addr:sockaddr -> unit -> unit
val getsockname : Uwt.Udp.t -> sockaddr uv_result
val getsockname_exn : Uwt.Udp.t -> sockaddr
type membership = Leave_group | Join_group
val set_membership :
?interface:string ->
Uwt.Udp.t -> multicast:string -> Uwt.Udp.membership -> Int_result.unit
val set_membership_exn :
?interface:string ->
Uwt.Udp.t -> multicast:string -> Uwt.Udp.membership -> unit
val set_multicast_loop : Uwt.Udp.t -> bool -> Int_result.unit
val set_multicast_loop_exn : Uwt.Udp.t -> bool -> unit
val set_multicast_ttl : Uwt.Udp.t -> int -> Int_result.unit
val set_multicast_ttl_exn : Uwt.Udp.t -> int -> unit
val set_multicast_interface : Uwt.Udp.t -> string option -> Int_result.unit
val set_multicast_interface_exn : Uwt.Udp.t -> string option -> unit
val set_broadcast : Uwt.Udp.t -> bool -> Int_result.unit
val set_broadcast_exn : Uwt.Udp.t -> bool -> unit
val set_ttl : Uwt.Udp.t -> int -> Int_result.unit
val set_ttl_exn : Uwt.Udp.t -> int -> unit
val send :
?pos:int -> ?len:int -> buf:bytes -> Uwt.Udp.t -> sockaddr -> unit Lwt.t
val send_ba :
?pos:int -> ?len:int -> buf:buf -> Uwt.Udp.t -> sockaddr -> unit Lwt.t
val send_string :
?pos:int -> ?len:int -> buf:string -> Uwt.Udp.t -> sockaddr -> unit Lwt.t
val send_raw :
?pos:int -> ?len:int -> buf:bytes -> Uwt.Udp.t -> sockaddr -> unit Lwt.t
val send_raw_ba :
?pos:int -> ?len:int -> buf:buf -> Uwt.Udp.t -> sockaddr -> unit Lwt.t
val send_raw_string :
?pos:int -> ?len:int -> buf:string -> Uwt.Udp.t -> sockaddr -> unit Lwt.t
val try_send :
?pos:int ->
?len:int -> buf:bytes -> Uwt.Udp.t -> sockaddr -> Int_result.int
val try_send_ba :
?pos:int ->
?len:int -> buf:buf -> Uwt.Udp.t -> sockaddr -> Int_result.int
val try_send_string :
?pos:int ->
?len:int -> buf:string -> Uwt.Udp.t -> sockaddr -> Int_result.int
val try_sendv :
Uwt.Udp.t -> Iovec_write.t list -> sockaddr -> Int_result.int
val sendv_raw : Uwt.Udp.t -> Iovec_write.t list -> sockaddr -> unit Lwt.t
val sendv : Uwt.Udp.t -> Iovec_write.t list -> sockaddr -> unit Lwt.t
type recv_result =
Data of Bytes.t * sockaddr option
| Partial_data of Bytes.t * sockaddr option
| Empty_from of sockaddr
| Transmission_error of error
val recv_start :
Uwt.Udp.t -> cb:(Uwt.Udp.recv_result -> unit) -> Int_result.unit
val recv_start_exn : Uwt.Udp.t -> cb:(Uwt.Udp.recv_result -> unit) -> unit
val recv_stop : Uwt.Udp.t -> Int_result.unit
val recv_stop_exn : Uwt.Udp.t -> unit
type recv = {
recv_len : int;
is_partial : bool;
sockaddr : sockaddr option;
}
val recv :
?pos:int -> ?len:int -> buf:bytes -> Uwt.Udp.t -> Uwt.Udp.recv Lwt.t
val recv_ba :
?pos:int -> ?len:int -> buf:buf -> Uwt.Udp.t -> Uwt.Udp.recv Lwt.t
end