Work of the machine that the library runs outside its own fibers and waits for — a codec in a worker
thread, for one — and that a host which keeps the library's time may need to know is still going.
The library takes every pause of the app on the Clock ("We keep the app's timings"), so a host may run
the Clock virtually: it jumps to the next sleep whenever the process's fibers wait. A fiber that waits on
a worker looks like a fiber that waits on nothing, and the virtual clock would skip the whole time the
worker needs, firing every timer of the process on the way. The library therefore hands the promise of
such work to this reference before it waits on it: the default returns it untouched, and a host with a
virtual clock holds the clock until the promise settles (the conformance render does).
The work itself keeps no time of the Clock: its deadline is real time.
Work of the machine that the library runs outside its own fibers and waits for — a codec in a worker thread, for one — and that a host which keeps the library's time may need to know is still going.
The library takes every pause of the app on the
Clock("We keep the app's timings"), so a host may run the Clock virtually: it jumps to the next sleep whenever the process's fibers wait. A fiber that waits on a worker looks like a fiber that waits on nothing, and the virtual clock would skip the whole time the worker needs, firing every timer of the process on the way. The library therefore hands the promise of such work to this reference before it waits on it: the default returns it untouched, and a host with a virtual clock holds the clock until the promise settles (the conformance render does).The work itself keeps no time of the Clock: its deadline is real time.