# Class type Netchannels.rec_out_channel

    class type rec_out_channel = object .. end

Recommended output class type for library interoperability.

## Description

This class type is defined in "Basic I/O class types" as collaborative effort of several library creators.

    method output : string -> int -> int -> int

Takes octets from the string and writes them into the channel. The first `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

If there is a write buffer, it will be flushed. Otherwise, nothing happens

    method close_out : unit -> unit

Flushes the buffer, if any, and closes the channel for output.

When the channel is already 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.