class watchdog :float -> 'a #engine ->
[unit]
engine
A watchdog engine checks whether the argument engine makes
progress, and if there is no progress for the passed number of
seconds, the engine is aborted, and the watchdog state changes
to `Error Watchdog_timeout
.
The current implementation is not very exact, and it may take a little longer than the passed period of inactivity until the watchdog recognizes inactivity.
If the argument engine terminates, the watchdog changes its state to
`Done ()
Important note: The watchdog assumes that the `Working
state
of the target engine really counts events that indicate progress.
This does not work for:
poll_process_engine
: there is no way to check whether a subprocess
makes progressconnector
: It is usually not possible to reflect the progress
on packet levellistener
: It is usually not possible to reflect the progress
on packet level