class type async_out_channel =object..end
raw_out_channel, which is 
 defined by the Ocamlnet module Netchannels (see there for an 
 introduction into the idea of using objects as I/O channels).
 An asynchronous channel can indicate that there is no space in the
 output buffer. Furthermore, one can request notification in the case
 that there is no space or again space in the output buffer.raw_out_channel method output : string -> int -> int -> intoutput s k n: Writes the substring of s beginning at index
 k with length n into the channel. The channel is free to
 accept only a portion of the string (or even nothing), and 
 returns the number of bytes it accepts.method close_out : unit -> unitmethod pos_out : intmethod flush : unit -> unitmethod can_output : boolmethod request_notification : (unit -> bool) -> unitcan_output changes its value (or might change
 its value). The function returns true if there is still interest
 in notification, and false if notification must be disabled.
 There can be any number of parallel active notifications. It is
 allowed that a notification callback requests further notifications.