[][src]Module d3_core::machine_impl

Structs

ExecutorStats

The ExecutorStats expose metrics for each executor.

Receiver

The Receiver is a wrapper aruond the Crossbeam receiver. It intentionally limits the surface of the receiver. Much of this is just boilerplate wrapping

Sender

Wrap the crossbeam sender to allow the executor to handle a block. This requires that a send which would block, parks the send. It also requires that prior to sending a check is made to determine if the sender is already blocked. What makes this work is that the repeat send is bound to the executor. Consequently, TLS data can be inspected to determine if we need to not complete the send.

Traits

Machine

The machine is the common trait all machines must implement and describes how instuctions are delivered to a machine, via the receive method.

Functions

channel

Create a channel with an unlimited capacity. This should be used with caution, as it can cause a panic when sending.

channel_with_capacity

Create a channel with a fixed capacity.