Package 'rho.async'

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

Help Index


Asynchronous task and stream contracts

Description

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().

Details

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.