Base class for receivers of completion messages. More...
#include <flow_graph.h>
Public Types | |
typedef continue_msg | input_type |
The input type. | |
typedef sender< continue_msg > | predecessor_type |
The predecessor type for this node. | |
Public Types inherited from tbb::flow::interface7::receiver< continue_msg > | |
typedef continue_msg | input_type |
The input type of this receiver. | |
typedef sender< continue_msg > | predecessor_type |
The predecessor type for this node. | |
Public Member Functions | |
continue_receiver (int number_of_predecessors=0) | |
Constructor. | |
continue_receiver (const continue_receiver &src) | |
Copy constructor. | |
virtual | ~continue_receiver () |
Destructor. | |
bool | register_predecessor (predecessor_type &) |
Increments the trigger threshold. | |
bool | remove_predecessor (predecessor_type &) |
Decrements the trigger threshold. More... | |
Public Member Functions inherited from tbb::flow::interface7::receiver< continue_msg > | |
virtual | ~receiver () |
Destructor. | |
bool | try_put (const continue_msg &t) |
Put an item to the receiver. | |
Protected Member Functions | |
task * | try_put_task (const input_type &) |
void | reset_receiver () |
virtual task * | execute ()=0 |
Does whatever should happen when the threshold is reached. More... | |
bool | is_continue_receiver () |
Protected Attributes | |
spin_mutex | my_mutex |
int | my_predecessor_count |
int | my_current_count |
int | my_initial_predecessor_count |
Base class for receivers of completion messages.
These receivers automatically reset, but cannot be explicitly waited on
|
protectedpure virtual |
Does whatever should happen when the threshold is reached.
This should be very fast or else spawn a task. This is called while the sender is blocked in the try_put().
|
inlinevirtual |
Decrements the trigger threshold.
Does not check to see if the removal of the predecessor now makes the current count exceed the new threshold. So removing a predecessor while the graph is active can cause unexpected results.
Reimplemented from tbb::flow::interface7::receiver< continue_msg >.