Module Async_udp.Config
A typical receive loop implicitly calls Iobuf.flip_lo
before calling its callback to prepare a packet buffer for reading by the callback and Iobuf.reset
afterward to prepare for the next iteration.
It's often convenient to use the same interface for UDP, TCP, and file variants of the same protocol.
stop
terminates a typical loop as soon as possible, when it becomes determined.
max_ready
limits the number of receive loop iterations within an Fd.every_ready_to
iteration, to prevent starvation of other Async jobs and to allow bounded busy-waiting, as on busy network sockets.
type t
=
{
capacity : int;
init : write_buffer;
stop : unit Async.Deferred.t;
max_ready : int;
}
val max_ready : t -> int
val stop : t -> unit Async.Deferred.t
val init : t -> write_buffer
val capacity : t -> int
module Fields : sig ... end
val create : ?capacity:int -> ?init:write_buffer -> ?stop:unit Async.Deferred.t -> ?max_ready:int -> unit -> t