Under heavy development. This site describes the intended 1.0 language. Current features and performance vary. Development status
Sn50SnThe SnAPI programming language
Development · Evolving reference

AsyncReader

Defines a structural safe mutable byte-stream operation. Reads asynchronously while source/output loans remain live through completion. Successful/failed transfer counts may not exceed the supplied byte view. Implementations document blocking, retention and cancellation; the concept introduces no box, allocation, global stream or implicit event loop.

Sn is under heavy development. This reference includes the intended 1.0 design; features may be incomplete in the current compiler. Read the status →

Module std.io

import std.io;

Public declaration contracts and authored examples. A page can document several related symbols. Implementation bodies are excluded.

AsyncReader

pub concept AsyncReader<Self>

Defines a structural safe mutable byte-stream operation. Reads asynchronously while source/output loans remain live through completion. Successful/failed transfer counts may not exceed the supplied byte view. Implementations document blocking, retention and cancellation; the concept introduces no box, allocation, global stream or implicit event loop. Self: Concrete mutable stream state.

AsyncReader.ReadAsync

requires fn ReadAsync(Output: mut byte[], Token: CancellationToken) -> Task<Result<usize, IoError>>;

Starts a safe bounded byte transfer. Output: Borrowed writable output slice; backing must remain valid through completion. Token: Owned cancellation observation for this operation. Return: Task yielding accepted/transferred byte count or portable failure with partial prefix.

Documentation snapshot: October 24, 2026 About versions ↗
Searching Development · language & standard library