sig
type write_buffer =
(Core.Std.read_write, Core.Std.Iobuf.seek) Core.Std.Iobuf.t
val default_capacity : int
module Config :
sig
type t =
Udp.Config.t = {
capacity : int;
init : write_buffer;
before : write_buffer -> unit;
after : write_buffer -> unit;
}
val after : t -> write_buffer -> unit
val before : t -> write_buffer -> unit
val init : t -> write_buffer
val capacity : t -> int
module Fields :
sig
val names : string list
val after : (t, write_buffer -> unit) Fieldslib.Field.t
val before : (t, write_buffer -> unit) Fieldslib.Field.t
val init : (t, write_buffer) Fieldslib.Field.t
val capacity : (t, int) Fieldslib.Field.t
val fold :
init:'acc__ ->
capacity:('acc__ -> (t, int) Fieldslib.Field.t -> 'acc__) ->
init:('acc__ -> (t, write_buffer) Fieldslib.Field.t -> 'acc__) ->
before:('acc__ ->
(t, write_buffer -> unit) Fieldslib.Field.t -> 'acc__) ->
after:('acc__ ->
(t, write_buffer -> unit) Fieldslib.Field.t -> 'acc__) ->
'acc__
val make_creator :
capacity:((t, int) Fieldslib.Field.t ->
'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
init:((t, write_buffer) Fieldslib.Field.t ->
'compile_acc__ ->
('input__ -> write_buffer) * 'compile_acc__) ->
before:((t, write_buffer -> unit) Fieldslib.Field.t ->
'compile_acc__ ->
('input__ -> write_buffer -> unit) * 'compile_acc__) ->
after:((t, write_buffer -> unit) Fieldslib.Field.t ->
'compile_acc__ ->
('input__ -> write_buffer -> unit) * 'compile_acc__) ->
'compile_acc__ -> ('input__ -> t) * 'compile_acc__
val create :
capacity:int ->
init:write_buffer ->
before:(write_buffer -> unit) ->
after:(write_buffer -> unit) -> t
val map :
capacity:((t, int) Fieldslib.Field.t -> int) ->
init:((t, write_buffer) Fieldslib.Field.t -> write_buffer) ->
before:((t, write_buffer -> unit) Fieldslib.Field.t ->
write_buffer -> unit) ->
after:((t, write_buffer -> unit) Fieldslib.Field.t ->
write_buffer -> unit) ->
t
val iter :
capacity:((t, int) Fieldslib.Field.t -> unit) ->
init:((t, write_buffer) Fieldslib.Field.t -> unit) ->
before:((t, write_buffer -> unit) Fieldslib.Field.t -> unit) ->
after:((t, write_buffer -> unit) Fieldslib.Field.t -> unit) ->
unit
val for_all :
capacity:((t, int) Fieldslib.Field.t -> bool) ->
init:((t, write_buffer) Fieldslib.Field.t -> bool) ->
before:((t, write_buffer -> unit) Fieldslib.Field.t -> bool) ->
after:((t, write_buffer -> unit) Fieldslib.Field.t -> bool) ->
bool
val exists :
capacity:((t, int) Fieldslib.Field.t -> bool) ->
init:((t, write_buffer) Fieldslib.Field.t -> bool) ->
before:((t, write_buffer -> unit) Fieldslib.Field.t -> bool) ->
after:((t, write_buffer -> unit) Fieldslib.Field.t -> bool) ->
bool
val to_list :
capacity:((t, int) Fieldslib.Field.t -> 'elem__) ->
init:((t, write_buffer) Fieldslib.Field.t -> 'elem__) ->
before:((t, write_buffer -> unit) Fieldslib.Field.t -> 'elem__) ->
after:((t, write_buffer -> unit) Fieldslib.Field.t -> 'elem__) ->
'elem__ list
val map_poly :
([< `Read | `Set_and_create ], t, 'x0) Fieldslib.Field.user ->
'x0 list
module Direct :
sig
val iter :
t ->
capacity:((t, int) Fieldslib.Field.t -> t -> int -> unit) ->
init:((t, write_buffer) Fieldslib.Field.t ->
t -> write_buffer -> unit) ->
before:((t, write_buffer -> unit) Fieldslib.Field.t ->
t -> (write_buffer -> unit) -> unit) ->
after:((t, write_buffer -> unit) Fieldslib.Field.t ->
t -> (write_buffer -> unit) -> unit) ->
unit
val fold :
t ->
init:'acc__ ->
capacity:('acc__ ->
(t, int) Fieldslib.Field.t -> t -> int -> 'acc__) ->
init:('acc__ ->
(t, write_buffer) Fieldslib.Field.t ->
t -> write_buffer -> 'acc__) ->
before:('acc__ ->
(t, write_buffer -> unit) Fieldslib.Field.t ->
t -> (write_buffer -> unit) -> 'acc__) ->
after:('acc__ ->
(t, write_buffer -> unit) Fieldslib.Field.t ->
t -> (write_buffer -> unit) -> 'acc__) ->
'acc__
end
end
val create :
?capacity:int ->
?init:write_buffer ->
?before:(write_buffer -> unit) ->
?after:(write_buffer -> unit) -> unit -> t
end
val sendto_sync :
unit ->
(Import.Fd.t ->
('a, Core.Std.Iobuf.seek) Core.Std.Iobuf.t ->
Import.Socket.Address.Inet.t -> [ `Not_ready | `Ok ])
Core.Std.Or_error.t
val sendto :
unit ->
(Import.Fd.t ->
('a, Core.Std.Iobuf.seek) Core.Std.Iobuf.t ->
Import.Socket.Address.Inet.t -> unit Import.Deferred.t)
Core.Std.Or_error.t
val bind :
?ifname:string ->
Import.Socket.Address.Inet.t ->
([ `Bound ], Import.Socket.Address.Inet.t) Import.Socket.t
Import.Deferred.t
val bind_any :
unit ->
([ `Bound ], Import.Socket.Address.Inet.t) Import.Socket.t
Import.Deferred.t
val recvfrom_loop :
?config:Config.t ->
Import.Fd.t ->
(write_buffer -> Import.Socket.Address.Inet.t -> unit) ->
unit Import.Deferred.t
val recvfrom_loop_with_buffer_replacement :
?config:Config.t ->
Import.Fd.t ->
(write_buffer -> Import.Socket.Address.Inet.t -> write_buffer) ->
write_buffer Import.Deferred.t
val read_loop :
?config:Config.t ->
Import.Fd.t -> (write_buffer -> unit) -> unit Import.Deferred.t
val read_loop_with_buffer_replacement :
?config:Config.t ->
Import.Fd.t ->
(write_buffer -> write_buffer) -> write_buffer Import.Deferred.t
val recvmmsg_loop :
(?config:Config.t ->
Import.Fd.t ->
?create_srcs:bool ->
?max_count:int ->
?bufs:write_buffer array ->
(?srcs:Core.Std.Unix.sockaddr array ->
write_buffer array -> count:int -> unit) ->
unit Import.Deferred.t)
Core.Std.Or_error.t
val bind_to_interface_exn :
(ifname:string -> Import.Fd.t -> unit) Core.Std.Or_error.t
end