Public Types | |
typedef untyped_receiver | successor_type |
The successor type for this node. | |
typedef internal::edge_container < successor_type > | built_successors_type |
interface to record edges for traversal & deletion | |
typedef built_successors_type::edge_list_type | successor_list_type |
Public Member Functions | |
virtual bool | register_successor (successor_type &r)=0 |
Add a new successor to this node. | |
virtual bool | remove_successor (successor_type &r)=0 |
Removes a successor from this node. | |
virtual bool | try_release () |
Releases the reserved item. | |
virtual bool | try_consume () |
Consumes the reserved item. | |
virtual built_successors_type & | built_successors ()=0 |
virtual void | internal_add_built_successor (successor_type &)=0 |
virtual void | internal_delete_built_successor (successor_type &)=0 |
virtual void | copy_successors (successor_list_type &)=0 |
virtual size_t | successor_count ()=0 |
Protected Member Functions | |
template<typename X > | |
bool | try_get (X &t) |
Request an item from the sender. | |
template<typename X > | |
bool | try_reserve (X &t) |
Reserves an item in the sender. | |
virtual bool | try_get_wrapper (void *p, bool is_async)=0 |
virtual bool | try_reserve_wrapper (void *p, bool is_async)=0 |
Friends | |
template<typename , typename > | |
class | internal::predecessor_cache |
template<typename , typename > | |
class | internal::reservable_predecessor_cache |