class output_async_descr :
dst:Unix.file_descr -> ?buffer_size:int -> ?close_dst:bool -> Unixqueue.event_system ->
This engine implements an
async_out_channel for the output
dst. The engine provides an internal buffer to
reduce the number of blocked output operations; by default there
is even no limit for the growth of the buffer, and because of this
the channel never blocks (
can_output is always
The engine attaches immediately to the event system, and detaches automatically. By default, the file descriptor is closed when the engine stops operation, either successfully or because of an error.
If the buffer is full, the class accepts no more data until
there is again free space in the buffer. This means that writers
must be prepared that
false, and that
output method returns 0. The buffer can only get "full"
buffer_size argument is passed.
The notification mechanism is shared by the "engine nature" and
by the "channel nature" of this class: If either the
can_output change their values, the notification callbacks
The semantics of the engine is undefined if
dst is not a
TODO: This class cannot yet cope with Win32 named piped.
buffer_size: Limits the size of the buffer
close_dst: Whether to close
dstwhen the engine stops (default: