That’s a very good point!
You are right in that a small or even single value “buffer” can be used. I didn't see any harm in having a buffer of a fixed, though reasonably small, size. (Perhaps the default of 64 is too large.) It allows for the emitter to to not suspend while the observer is busy.
At least that was my thinking when I wrote the article. For events I suppose in reality it is likely very rare that there are more than a small number of events queued up for handling by the observer. I also guess ordering of events would could change slightly with a buffered channel vs a rendezvous channel but that’s really a marginal difference.
I’m curious what your thoughts are. Do you see a benefit to having a rendezvous buffer or conversely, any harm to having a buffer?
(Side note, I’m a huge fan of your YouTube channel.)