|
|
bool | has_perfect_mapper (void) const |
| |
|
mapper_t const & | key_mapper (void) const |
| |
|
mapper_t & | key_mapper (void) |
| |
|
bool | empty (void) const |
| | Returns true if there are no entries in directory's registry on this location.
|
| |
|
void | reset (void) |
| | Clear all local registrations and pending messages in directory. Used by clear() methods of container distributions.
|
| |
|
bool | try_register_key_local (Key const &key) |
| | Attempt registration from the managing location. Return true if successful (i.e., not already registered).
|
| |
| void | register_key (Key const &key) |
| | Associate key in directory's registry with the location invoking this method. More...
|
| |
|
void | register_keys (std::pair< Key, Key > const &keys) |
| |
| template<typename Functor > |
| void | register_apply (Key const &key, Functor &&f) |
| | Associate key in directory's registry with location invoking this method. Registration location is implicitly set to be caller of this method. More...
|
| |
| template<typename Functor > |
| void | register_apply (Key const &key, Functor &&f, location_type location) |
| | Associate key in directory's registry with location invoking this method. More...
|
| |
|
void | unregister_key (Key const &key) |
| | Unregister key in directory's registry.
|
| |
| template<typename Functor > |
| void | unregister_apply (Key const &key, Functor &&f) |
| | Unregister key and apply a function object f at location where directory's registry manages key. More...
|
| |
| template<typename Functor > |
| void | invoke_where (Functor &&f, Key const &key) |
| | Invoke function object at the location where key is currently registered. More...
|
| |
| template<typename Functor > |
| void | try_invoke_where (Functor &&f, Key const &key) |
| | Invoke function object at the location where key is currently registered if the key is registered. More...
|
| |
| template<typename Functor > |
| void | unordered_invoke_where (Functor &&f, Key const &key) |
| | Invoke function object at the location where key is currently registered, disregarding RMI causal ordering. More...
|
| |
| locality_info | locality (Key const &key) |
| | Provide locality information about a key managed by the directory. More...
|
| |
|
runtime::location_md const & | get_location_md (void) const noexcept |
| | Returns the location metadata of the location this object registered in.
|
| |
| runtime::location_md & | get_location_md (void) noexcept |
| | Returns the location metadata of the location this object registered in. noexcept More...
|
| |
|
|
rmi_handle::const_reference const & | get_rmi_handle (void) const noexcept |
| | Returns the associated rmi_handle.
|
| |
|
rmi_handle::reference const & | get_rmi_handle (void) noexcept |
| | Returns the associated rmi_handle.
|
| |
|
size_type | get_location_id (void) const noexcept |
| | Returns the location id of the local sub-object.
|
| |
|
size_type | get_num_locations (void) const noexcept |
| | Returns the number of locations of the gang of this p_object.
|
| |
| void | advance_epoch (void) |
| | Advances the epoch of the object. More...
|
| |
| void | unlock (void) |
| | Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs. More...
|
| |
| void | lock (void) |
| | Used by lock_guard functionality in method of derived classes to request atomicity with respect to incoming RMIs. More...
|
| |
| bool | try_lock (void) |
| | Attempt to maintain atomicity with respect to incoming RMIs. More...
|
| |
|
| template<typename Functor > |
| void | execute (Functor &&f) |
| | Internal method, target of RMI called via migrate_impl to invoke functor f at new registration location, post registry update. More...
|
| |
| template<typename Directory , typename... PMFArgs, typename... Args> |
| void | invoke_at_manager (Key const &key, void(Directory::*const pmf)(PMFArgs...), Args &&... args) |
| | Forwards functor and arguments to location managing key. The location managing the key will invoke the method with the supplied arguments. More...
|
| |
| template<typename Trans , typename Directory , typename... PMFArgs, typename... Args> |
| void | invoke_at_manager_impl (Key const &key, void(Directory::*const pmf)(PMFArgs...), Args &&... args) |
| | Implementation of. More...
|
| |
| template<typename Directory , typename... PMFArgs, typename... Args> |
| void | invoke_at_manager (Key const &key, void(Directory::*const pmf)(PMFArgs...) const, Args &&... args) const |
| | Forwards const functor and arguments to location managing key. The location managing the key will invoke the method with the supplied arguments. More...
|
| |
| template<typename Trans , typename Directory , typename... PMFArgs, typename... Args> |
| void | invoke_at_manager_impl (Key const &key, void(Directory::*const pmf)(PMFArgs...) const, Args &&... args) const |
| | Implementation of. More...
|
| |
| void | flush_pending (const location_type loc, Key const &key, queue_t &pending) |
| | Forward all buffered requests for key to location loc. More...
|
| |
| template<typename Functor , typename Trans = transmitter_type> |
| void | request_forward (Key const &key, Functor &&f) |
| | Internal method used to facilitate invocation of f on location where key is currently registered. Called via RMI on directory location where key is managed. More...
|
| |
| template<typename Functor > |
| void | try_request_forward (Key const &key, Functor &&f) |
| | Internal method used to facilitate invocation of f on location where key is currently registered. If key is not registered, the request is dropped; otherwise, it is called via RMI on directory location where key is managed. This is directed at situations where it is legal for a key to not exist, i.e. erasing non-existent keys in the unordered set container. More...
|
| |
|
| directory_base (bool b_enable_buffering) |
| |
| template<typename Function > |
| | directory_base (Function &&f, Mapper mapper, bool b_migration_enabled, bool b_enable_buffering, bool b_perfect_mapper) |
| | Constructor used by PARAGRAPH. More...
|
| |
|
| directory_base (mapper_t mapper, registry_t registry) |
| | Constructor specifying custom mapper and registry. Used by container framework.
|
| |
| | directory_base (directory_base const &other) |
| |
| directory_base & | operator= (directory_base const &other) |
| |
template<typename Key, typename Transmitter, typename Mapper, typename Registry, bool EnableMigration>
class stapl::detail::directory_base< Key, Transmitter, Mapper, Registry, EnableMigration >
Base class of Directory that provides the bulk of the non migration specific implementation.
- Template Parameters
-
| Key | Key types tracked by this directory. |
| Transmitter | Type Encapsulting underlying ARMI primitives for communication. |
| Mapper | Functor type that maps keys to location that manages them. |
| Registry | Holds key to location mapping. |
template<typename Key, typename Transmitter, typename Mapper, typename Registry, bool EnableMigration>
template<typename Functor >
Internal method, target of RMI called via migrate_impl to invoke functor f at new registration location, post registry update.
- Parameters
-
| f | Nullary functor to apply. |
- See also
- migrate_impl()
template<typename Key, typename Transmitter, typename Mapper, typename Registry, bool EnableMigration>
template<typename Functor , typename Trans = transmitter_type>
Internal method used to facilitate invocation of f on location where key is currently registered. Called via RMI on directory location where key is managed.
- Parameters
-
| key | Key whose registered location determines where f should be executed. |
| f | Functor to invoke (unary, key passed as parameter). |
Called by invoke_where and execute (the latter when migration enabled).
template<typename Key, typename Transmitter, typename Mapper, typename Registry, bool EnableMigration>
template<typename Functor >
Internal method used to facilitate invocation of f on location where key is currently registered. If key is not registered, the request is dropped; otherwise, it is called via RMI on directory location where key is managed. This is directed at situations where it is legal for a key to not exist, i.e. erasing non-existent keys in the unordered set container.
- Parameters
-
| key | Key whose registered location determines where f should be executed. |
| f | Functor to invoke (unary, key passed as parameter). |
Called by invoke_where and execute (the latter when migration enabled).