class output_async_descr :dst:Unix.file_descr -> ?buffer_size:int -> ?close_dst:bool -> Unixqueue.event_system ->async_out_channel_engine
This engine implements an async_out_channel for the output
 descriptor 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 true).
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 can_output returns false, and that
 the output method returns 0. The buffer can only get "full"
 if the 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 state or
 can_output change their values, the notification callbacks
 are invoked.
The semantics of the engine is undefined if dst is not a
 stream-oriented descriptor.
TODO: This class cannot yet cope with Win32 named piped.
buffer_size : Limits the size of the bufferclose_dst : Whether to close dst when the engine stops
    (default: true)