I'm implementing an Intel 8284a clock oscillator chip in async Rust.
Idea: clock + its listeners run in separate Tokio tasks for parallelism; the clock waits for listeners to finish before its next tick.
My first version using Tokio channels maxes out at a 35kHz crystal. A bit less than 14MHz 😅