| Home | Libraries | People | FAQ | More

### Channels

A channel is a model to communicate and synchronize `Threads of Execution` [2] via message passing.

##### Enumeration `channel_op_status`

channel operations return the state of the channel.

    enum class channel_op_status {
        success,
        empty,
        full,
        closed,
        timeout
    };

##### `success`

Effects:

  Operation was successful.

##### `empty`

Effects:

  channel is empty, operation failed.

##### `full`

Effects:

  channel is full, operation failed.

##### `closed`

Effects:

  channel is closed, operation failed.

##### `timeout`

Effects:

  The operation did not become ready before specified timeout elapsed.

[2] The smallest ordered sequence of instructions that can be managed independently by a scheduler is called a `Thread of Execution`.