tbb::flow::interface6::limiter_node< T > Class Template Reference

Forwards messages only if the threshold has not been reached. More...

#include <flow_graph.h>

Inheritance diagram for tbb::flow::interface6::limiter_node< T >:

tbb::flow::interface6::graph_node tbb::flow::interface6::receiver< T > tbb::flow::interface6::sender< T > List of all members.

Public Types

typedef T input_type
 The input type of this receiver.
typedef T output_type
 The output type of this sender.
typedef sender< input_typepredecessor_type
 The predecessor type for this node.
typedef receiver< output_typesuccessor_type
 The successor type for this node.

Public Member Functions

 limiter_node (graph &g, size_t threshold, int num_decrement_predecessors=0)
 Constructor.
 limiter_node (const limiter_node &src)
 Copy constructor.
bool register_successor (receiver< output_type > &r)
 Replace the current successor with this new successor.
bool remove_successor (receiver< output_type > &r)
 Removes a successor from this node.
bool register_predecessor (predecessor_type &src)
 Removes src from the list of cached predecessors.
bool remove_predecessor (predecessor_type &src)
 Removes src from the list of cached predecessors.

Public Attributes

internal::decrementer< limiter_node<
T > > 
decrement
 The internal receiver< continue_msg > that decrements the count.

Protected Member Functions

tasktry_put_task (const T &t)
 Puts an item to this receiver.
void reset ()
void reset_receiver ()

Friends

class internal::forward_task_bypass< limiter_node< T > >
class internal::decrementer< limiter_node< T > >
class run_and_put_task
 put item to successor; return task to run the successor if possible.
class internal::broadcast_cache
class internal::round_robin_cache

Detailed Description

template<typename T>
class tbb::flow::interface6::limiter_node< T >

Forwards messages only if the threshold has not been reached.

This node forwards items until its threshold is reached. It contains no buffering. If the downstream node rejects, the message is dropped.


Member Function Documentation

template<typename T>
bool tbb::flow::interface6::limiter_node< T >::remove_successor ( receiver< output_type > &  r  )  [inline, virtual]

Removes a successor from this node.

r.remove_predecessor(*this) is also called.

Implements tbb::flow::interface6::sender< T >.


The documentation for this class was generated from the following file:

Copyright © 2005-2013 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.