class type rec_out_channel =Recommended output class type for library interoperability.object
..end
This class type is defined in "Basic I/O class types" as collaborative effort of several library creators.
method output : string -> int -> int -> int
int
argument is the position of the substring, and the second
int
argument is the length of the substring where the data can
be found. The method returns the number of octets actually written.
The implementation may choose to collect written octets in a buffer before they actually delivered to the underlying resource.
When the channel is non-blocking, and there are currently no bytes to write, the number 0 will be returned. This has been changed in ocamlnet-0.97! In previous releases this behaviour was undefined.
When the channel is closed, the exception Closed_channel
will be
raised if an ocamlnet implementation is used. For implementations
of other libraries there is no standard for this case.
method flush : unit -> unit
method close_out : unit -> unit
When the channel is already closed, this is a no-op.
Error policy: Usually errors are logged to Netlog
but not passed
back to the caller. It is more important to ensure that the underlying
resources are released than to report all issues to the caller.
If a stricter error policy is required, users should call flush
first. Implementations may nevertheless raise exceptions in close_out
,
especially in cases when the channel is seriously corrupted (e.g. the
descriptor is invalid), or to report special user conditions.