rontolisp:stream-write
(rontolisp:stream-write stream chunk)
chunk (nil は不可) を非同期ストリームに追加し、ストリームが受け付けた時点で
確定する future を返します。生産側は各書き込みを
rontolisp:await することでフロー制御
できます。
rontolisp:stream-close で書き側をクローズした
ストリームへの書き込みはエラーをシグナルします:
> (let ((s (rontolisp:make-stream)))
(rontolisp:stream-close s)
(rontolisp:stream-write s "x"))
stream-write: the stream is closed
バックエンドのサポート
ゲスト側で作るストリーム (rontolisp:make-stream / rontolisp:stream-write)
は現在インタプリタと JVM バックエンドに存在します。WASM バックエンドは
コンパイル時に拒否します (--component プログラムのストリームは
rontolisp:fetch / rontolisp:http-handler のボディ由来です)。