class type ['a
] engine =object end
't
is the type of the result values (when the
engine goes to state `Done
).
Requirements for engines
|
method state : 'a engine_state
method abort : unit -> unit
`Done
, `Aborted
, or `Error
, this method must do nothing (you
cannot abort an already finished engine).method request_notification : (unit -> bool) -> unit
After the notification has been requested, the passed function must
be called whenever state
changes its value (or might change
its value; it is allowed to call the notification function more
frequently than necessary). The function returns true
if there
is still interest in notification, and false
if notification must
be disabled; the function must not be called any longer in this
case.
There can be any number of parallel active notifications. It is
allowed that a notification callback function requests further
notifications.
method event_system : Unixqueue.event_system