Plasma GitLab Archive
Projects Blog Knowledge

Class Uq_engines.output_engine

class ['a] output_engine : (Unix.file_descr -> 'a) -> Unix.file_descr -> float -> Unixqueue.event_system -> ['a] engine

Generic output engine for writing to a file descriptor: let e = new output_engine f fd tmo - Waits until the file descriptor becomes writable, and calls then let x = f fd to write to the descriptor. The result x is the result of the engine.

If the file descriptor does not become writable within tmo seconds, the resulting engine transitions to `Error Timeout.

Use this class to construct engines writing via Unix.single_write or comparable I/O functions:

      let write_engine fd s tmo esys =
        new output_engine (fun fd ->
                             Unix.single_write fd s 0 (String.length s)
                          )
                          fd tmo esys
      

This engine returns the number of written bytes.

See also Uq_io.output_e for a more generic way of writing with engines.


This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml