hpx/resiliency_distributed/async_replay_distributed.hpp#

Defined in header hpx/resiliency_distributed/async_replay_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 Action, typename ...Ts>
hpx::future<hpx::util::detail::invoke_deferred_result_t<Action, hpx::id_type, Ts...>> hpx_invoke(async_replay_t, std::vector<hpx::id_type> const &ids, Action &&action, Ts&&... ts)#

ADL hook for distributed async_replay CPO.

Asynchronously launches action on localities in ids, replaying on the next locality on error (aborts on abort_replay_exception).

Parameters
  • tag – CPO tag (async_replay_t).

  • ids – Target localities to try in order.

  • action – Action to invoke on each locality.

  • ts – Arguments forwarded to action.

Returns

future with the first successful result.

template<typename Pred, typename Action, typename ...Ts>
hpx::future<hpx::util::detail::invoke_deferred_result_t<Action, hpx::id_type, Ts...>> hpx_invoke(async_replay_validate_t, std::vector<hpx::id_type> const &ids, Pred &&pred, Action &&action, Ts&&... ts)#

ADL hook for distributed async_replay_validate CPO.

Asynchronously launches action on localities in ids, validating results with pred. Replays on the next locality on error (aborts on abort_replay_exception).

Parameters
  • tag – CPO tag (async_replay_validate_t).

  • ids – Target localities to try in order.

  • 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.