hpx/runtime_distributed/applier.hpp#

See Public API for a list of names and headers that are part of the public HPX API.

namespace hpx
namespace applier#
class applier#
#include <applier.hpp>

The applier class is used to decide whether a particular action has to be issued on a local or a remote resource. If the target component is local a new thread will be created, if the target is remote a parcel will be sent.

Public Functions

HPX_NON_COPYABLE(applier)#
applier()#
void init(threads::threadmanager &tm)#
~applier() = default#
void initialize(std::uint64_t rts)#
threads::threadmanager &get_thread_manager()#

Access the thread-manager instance associated with this applier.

This function returns a reference to the thread manager this applier instance has been created with.

naming::gid_type const &get_raw_locality(error_code &ec = throws) const#

Allow access to the locality of the locality this applier instance is associated with.

This function returns a reference to the locality this applier instance is associated with.

std::uint32_t get_locality_id(error_code &ec = throws) const#

Allow access to the id of the locality this applier instance is associated with.

This function returns a reference to the id of the locality this applier instance is associated with.

bool get_raw_remote_localities(std::vector<naming::gid_type> &locality_ids, components::component_type type = components::component_invalid, error_code &ec = throws) const#

Return list of localities of all remote localities registered with the AGAS service for a specific component type.

This function returns a list of all remote localities (all localities known to AGAS except the local one) supporting the given component type.

Parameters
  • locality_ids – [out] The reference to a vector of id_types filled by the function.

  • type – [in] The type of the component which needs to exist on the returned localities.

Returns

The function returns true if there is at least one remote locality known to the AGASservice (!prefixes.empty()).

bool get_remote_localities(std::vector<hpx::id_type> &locality_ids, components::component_type type = components::component_invalid, error_code &ec = throws) const#
bool get_raw_localities(std::vector<naming::gid_type> &locality_ids, components::component_type type = components::component_invalid) const#

Return list of locality_ids of all localities registered with the AGAS service for a specific component type.

This function returns a list of all localities (all localities known to AGAS except the local one) supporting the given component type.

Parameters
  • locality_ids – [out] The reference to a vector of id_types filled by the function.

  • type – [in] The type of the component which needs to exist on the returned localities.

Returns

The function returns true if there is at least one remote locality known to the AGASservice (!prefixes.empty()).

bool get_localities(std::vector<hpx::id_type> &locality_ids, error_code &ec = throws) const#
bool get_localities(std::vector<hpx::id_type> &locality_ids, components::component_type type, error_code &ec = throws) const#
inline naming::gid_type const &get_runtime_support_raw_gid() const#

By convention the runtime_support has a gid identical to the prefix of the locality the runtime_support is responsible for

inline hpx::id_type const &get_runtime_support_gid() const#

By convention the runtime_support has a gid identical to the prefix of the locality the runtime_support is responsible for

Private Members

threads::threadmanager *thread_manager_#
hpx::id_type runtime_support_id_#