Wrap remote edge notifier objects to support moving them to a new location when the associated producer task is migrated.
More...
|
| edge_notifier_wrapper (Notifier notifier) |
|
void | operator() (edge_container &edge_ct, size_t loc, std::size_t tid, edge_version_storage< stored_value_t > const &version, bool b_migrate=false, bool b_move=false) const |
| Based on b_migrate parameter, either call edge_container::add_remote_notifier to move notifier to producer task's new, post-migration execution location. Otherwise, treat as an edge fire, and invoke the notifier, forwarding the appropriate parameters. More...
|
|
template<typename T, typename Notifier>
struct stapl::detail::edge_notifier_wrapper< T, Notifier >
Wrap remote edge notifier objects to support moving them to a new location when the associated producer task is migrated.
- Template Parameters
-
T | Value type the edge this object is associated with represents. |
Notifier | The underlying notifier this wrapper hold and should invoke when migration is not requested. |
- See also
- edge_remote_notifier
-
edge_remote_signal_notifier
-
edge_entry::add_remote_signal_notifier
-
remote_notifier_creator
◆ operator()()
template<typename T, typename Notifier>
Based on b_migrate
parameter, either call edge_container::add_remote_notifier to move notifier to producer task's new, post-migration execution location. Otherwise, treat as an edge fire, and invoke the notifier, forwarding the appropriate parameters.
- Parameters
-
edge_ct | The edge container which holds the entry this notifier is associated with. |
loc | The location that the remote notifier held by wrapper is meant to notify. |
tid | The task identifier of the producer task the edge notifier is associated with. |
value | The value to be flowed along this PARAGRAPH edge(s) this notifier represents. |
b_migrate | Boolean representing whether migration is requested by the caller. |
The documentation for this struct was generated from the following file:
- edge_notifier_wrapper.hpp