| Title: | Rho Async Task and Stream Contracts |
|---|---|
| Description: | Defines S7 task, stream, cancellation, and composition contracts for asynchronous R interfaces. Adapters connect nanonext asynchronous handles and promises while keeping every blocking wait explicit. |
| Authors: | Sounkou Mahamane Toure [aut, cre] |
| Maintainer: | Sounkou Mahamane Toure <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.0.1.9000 |
| Built: | 2026-07-15 18:48:25 UTC |
| Source: | https://github.com/sounkou-bioinfo/Rho |
Rho tasks represent one eventual value, while Rho streams represent an
asynchronous sequence of typed stream items. Effectful callers compose
tasks with rho_then() or coroutines and block only at rho_await().
rho_new_state() and the concrete adapter task classes are exported for
packages implementing new async backends. Polling actions return one of the
typed RhoPollDecision subclasses; timing remains inside rho.async.
rho_serial_queue() orders asynchronous actions without blocking the event
loop. Cancelling a queued task removes only that entry; cancelling active
work propagates to the task returned by its action.