tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl Class Reference
Inheritance diagram for tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl:
Collaboration diagram for tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl:

## Public Member Functions

| receiver_gateway_impl (async_node *node)
void | reserve_wait () __TBB_override
| Inform a graph that messages may come from outside, to prevent premature graph completion. More...
void | release_wait () __TBB_override
| Inform a graph that a previous call to reserve_wait is no longer in effect. More...
bool | try_put (const Output &i) __TBB_override
| Implements gateway_type::try_put for an external activity to submit a message to FG. More...
Public Member Functions inherited from tbb::flow::interface11::graph_proxy
virtual | ~graph_proxy ()

## Private Attributes

async_node * | my_node

## Additional Inherited Members

Public Types inherited from tbb::flow::interface11::receiver_gateway< Output >
typedef Output | input_type
| Type of inputing data into FG. More...

## Detailed Description

### template<typename Input, typename Output, typename Policy = queueing_lightweight, typename Allocator = cache_aligned_allocator<Input>>
class tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl

Definition at line 3853 of file flow_graph.h.

## Constructor & Destructor Documentation

## receiver_gateway_impl()

template<typename Input , typename Output , typename Policy = queueing_lightweight, typename Allocator = cache_aligned_allocator<Input>>

tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::receiver_gateway_impl | ( | async_node * | node | ) |

inline

Definition at line 3855 of file flow_graph.h.

: my_node(node) {}

## Member Function Documentation

## release_wait()

template<typename Input , typename Output , typename Policy = queueing_lightweight, typename Allocator = cache_aligned_allocator<Input>>

void tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::release_wait | ( |  | ) |

inline virtual

Inform a graph that a previous call to reserve_wait is no longer in effect.

Implements tbb::flow::interface11::graph_proxy.

Definition at line 3861 of file flow_graph.h.

{
my_node->my_graph.release_wait();
tbb::internal::fgt_async_commit(static_cast<typename async_node::receiver_type *>(my_node), &my_node->my_graph);
}

References tbb::internal::fgt_async_commit().

Here is the call graph for this function:

## reserve_wait()

template<typename Input , typename Output , typename Policy = queueing_lightweight, typename Allocator = cache_aligned_allocator<Input>>

void tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::reserve_wait | ( |  | ) |

inline virtual

Inform a graph that messages may come from outside, to prevent premature graph completion.

Implements tbb::flow::interface11::graph_proxy.

Definition at line 3856 of file flow_graph.h.

{
tbb::internal::fgt_async_reserve(static_cast<typename async_node::receiver_type *>(my_node), &my_node->my_graph);
my_node->my_graph.reserve_wait();
}

References tbb::internal::fgt_async_reserve().

Here is the call graph for this function:

## try_put()

template<typename Input , typename Output , typename Policy = queueing_lightweight, typename Allocator = cache_aligned_allocator<Input>>

bool tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::try_put | ( | const Output & | i | ) |

inline virtual

Implements gateway_type::try_put for an external activity to submit a message to FG.

Implements tbb::flow::interface11::receiver_gateway< Output >.

Definition at line 3867 of file flow_graph.h.

{
return my_node->try_put_impl(i);
}

## Member Data Documentation

## my_node

template<typename Input , typename Output , typename Policy = queueing_lightweight, typename Allocator = cache_aligned_allocator<Input>>

async_node* tbb::flow::interface11::async_node< Input, Output, Policy, Allocator >::receiver_gateway_impl::my_node

private

Definition at line 3872 of file flow_graph.h.

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

- flow_graph.h

tbb::internal::fgt_async_reserve
static void fgt_async_reserve(void *, void *)
Definition: _flow_graph_trace_impl.h:341
tbb::flow::interface11::async_node::receiver_gateway_impl::my_node
async_node * my_node
Definition: flow_graph.h:3872
tbb::flow::interface11::graph_node::my_graph
graph & my_graph
Definition: _flow_graph_impl.h:464
tbb::flow::interface11::async_node::try_put_impl
bool try_put_impl(const Output &i)
Implements gateway_type::try_put for an external activity to submit a message to FG.
Definition: flow_graph.h:3879
tbb::internal::fgt_async_commit
static void fgt_async_commit(void *, void *)
Definition: _flow_graph_trace_impl.h:342
tbb::flow::interface10::graph::reserve_wait
void reserve_wait() __TBB_override
Used to register that an external entity may still interact with the graph.
Definition: flow_graph.h:798
tbb::flow::interface10::graph::release_wait
void release_wait() __TBB_override
Deregisters an external entity that may have interacted with the graph.
Definition: flow_graph.h:805

Copyright © 2005-2020 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.