The Dataflow.Signals layer provides a number of components which are useful in a variety of circumstances. The following table summarizes the components and their use.

Component

Use

consumer

Base class for your own input-only components.

filter

Base class for your own input/output or output-only components.

storage

Stores signal arguments.

counter

Counts the number of signals passing through.

junction

Convenient when multiple producers need to be connected to the same set of consumers. Also has gate functionality.

multiplexer

Allows selection of which of the input ports is forwarded

mutex

Provides mutex locking on incoming signals for multithreaded environments

condition

Signals a threading condition whenever a signal is received

timed_generator

Periodically generates signals in its own thread

function

Allows any Boost.Function object to be applied to a passing signal

chain

Chains a number of components together into a new component

socket_sender and socket_receiver

Allow a signal dataflow network to straddle a network socket