class watchdog :float -> 'a #engine ->[unit]engine
`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