Method in task · Channel compiler

Channel::close

pub fn close()
Import
use task::{Channel};
Source: compiler/src/prelude/task.hy

Closes the channel: no more values can be sent.

Waiting senders get Err(ChannelError::Closed). Receivers still take the values left, then get Closed.

Called on a Channel value as value.close(…).

See also#

  • Channel: A bounded queue for passing values between tasks.
  • Channel::send: Adds value to the channel, waiting while it is full (a suspension point).
  • Channel::try_send: Adds value if there is room, without waiting.
  • Channel::recv: Takes the oldest value, waiting while the channel is empty (a suspension point).
  • Channel::try_recv: Takes the oldest value if there is one, without waiting.
  • Channel::len: Returns the number of values waiting to be received.
  • Channel::capacity: Returns the most values the channel can hold.
  • Channel::is_closed: Returns true once close has been called.
↑ ↓ navigate ↵ open