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

ChannelReceive

Immediate receive distinguishes an owned item, open-empty and closed EOF. Empty is temporary: later sends may publish items. Closed is final and occurs only after buffered items drain. Item owns exactly one transferred payload.

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.sync

import std.sync;

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

ChannelReceive

pub enum ChannelReceive<T> where T: Movable

Immediate receive distinguishes an owned item, open-empty and closed EOF. Empty is temporary: later sends may publish items. Closed is final and occurs only after buffered items drain. Item owns exactly one transferred payload. T: Movable received payload.

ChannelReceive.Item

Item;

Transfers one FIFO item.

ChannelReceive.Item.Value

Value: T;

ChannelReceive.Empty

Empty;

No unreserved item was available on an open channel.

ChannelReceive.Closed

Closed;

Closed queue has no remaining buffered items.

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