Reviewing this proposal, I saw https://github.com/WebAssembly/wasi-i2c/blob/main/wit/delay.wit for the first time.
This duplicates functionality already available through wasi-clocks. wasi:clocks/monotonic-clock.subscribe-duration gives a wasi:io/poll.pollable which becomes ready after a given duration, and the user can call pollable.block to suspend execution until it is ready, or otherwise use wasi:io/poll.poll to multiplex on many pollables.
Reviewing this proposal, I saw https://github.com/WebAssembly/wasi-i2c/blob/main/wit/delay.wit for the first time.
This duplicates functionality already available through wasi-clocks.
wasi:clocks/monotonic-clock.subscribe-durationgives awasi:io/poll.pollablewhich becomes ready after a given duration, and the user can callpollable.blockto suspend execution until it is ready, or otherwise usewasi:io/poll.pollto multiplex on many pollables.