Remix.run Logo
orlp 2 days ago

It is pull in the sense that an operator can call `recv().await` (the equivalent of `input.next()` in the article) at any point, which can then block the execution of the operator until more data is available.

It is push in the sense that an operator can call `send(x).await` (the equivalent of `out(x)` in the article) at any point, which can then block the execution of the operator until the data is consumed.

So it is a hybrid of both pull and push. You can, at any point, block on either pulling data or pushing data.