channel

func channel<T>() -> (Sender<T>, Receiver<T>) where T: Send

Creates an unbounded FIFO transfer channel.

Sends never wait for capacity and can grow the runtime queue until the receiver drains it. Use channel_bounded when producers need backpressure.

View Source
pub func channel<T>() -> (Sender<T>, Receiver<T>) where T: Send {
	let handle = _chan_ctl(handle: 0, op: 7)
	(
		Sender(handle: handle, guard: _drop_token()),
		Receiver(handle: handle, guard: _drop_token())
	)
}