...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A channel is a model to communicate and synchronize Threads
of Execution
[2] via message passing.
channel_op_status
channel operations return the state of the channel.
enum class channel_op_status { success, empty, full, closed, timeout };
success
Operation was successful.
empty
channel is empty, operation failed.
full
channel is full, operation failed.
closed
channel is closed, operation failed.
timeout
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
.