hpx/resiliency_distributed/async_replicate_distributed.hpp#

Defined in header hpx/resiliency_distributed/async_replicate_distributed.hpp.

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

namespace hpx
namespace resiliency
namespace experimental

Functions

template<typename Vote, typename Pred, typename Action, typename ...Ts>
decltype(auto) hpx_invoke(async_replicate_vote_validate_t, std::vector<hpx::id_type> const &ids, Vote &&vote, Pred &&pred, Action &&action, Ts&&... ts)#

ADL hook for distributed async_replicate_vote_validate CPO.

Asynchronously launches action on each locality in ids, validates results with pred, then runs valid results through vote.

Parameters
  • tag – CPO tag (async_replicate_vote_validate_t).

  • ids – Target localities (one invocation per locality).

  • vote – Voting function selecting among valid results.

  • pred – Predicate validating each invocation result.

  • action – Action to invoke on each locality.

  • ts – Arguments forwarded to action.

Returns

future with the voted-upon result.

template<typename Vote, typename Action, typename ...Ts>
decltype(auto) hpx_invoke(async_replicate_vote_t, std::vector<hpx::id_type> const &ids, Vote &&vote, Action &&action, Ts&&... ts)#

ADL hook for distributed async_replicate_vote CPO.

Asynchronously launches action on each locality in ids, runs valid results through vote. Validation uses the default exception check.

Parameters
  • tag – CPO tag (async_replicate_vote_t).

  • ids – Target localities (one invocation per locality).

  • vote – Voting function selecting among valid results.

  • action – Action to invoke on each locality.

  • ts – Arguments forwarded to action.

Returns

future with the voted-upon result.

template<typename Pred, typename Action, typename ...Ts>
decltype(auto) hpx_invoke(async_replicate_validate_t, std::vector<hpx::id_type> const &ids, Pred &&pred, Action &&action, Ts&&... ts)#

ADL hook for distributed async_replicate_validate CPO.

Asynchronously launches action on each locality in ids, validates results with pred. Returns the first valid result.

Parameters
  • tag – CPO tag (async_replicate_validate_t).

  • ids – Target localities (one invocation per locality).

  • pred – Predicate validating each invocation result.

  • action – Action to invoke on each locality.

  • ts – Arguments forwarded to action.

Returns

future with the first valid result.

template<typename Action, typename ...Ts>
decltype(auto) hpx_invoke(async_replicate_t, std::vector<hpx::id_type> const &ids, Action &&action, Ts&&... ts)#

ADL hook for distributed async_replicate CPO.

Asynchronously launches action on each locality in ids. Validates by checking for exceptions. Returns the first valid result.

Parameters
  • tag – CPO tag (async_replicate_t).

  • ids – Target localities (one invocation per locality).

  • action – Action to invoke on each locality.

  • ts – Arguments forwarded to action.

Returns

future with the first non-throwing result.