timed_execution¶
The contents of this module can be included with the header
hpx/modules/timed_execution.hpp
. These headers may be used by user-code but are not
guaranteed stable (neither header location nor contents). You are using these at
your own risk. If you wish to use non-public functionality from a module we
strongly suggest only including the module header hpx/modules/timed_execution.hpp
, not
the particular header in which the functionality you would like to use is
defined. See Public API for a list of names that are part of the public
HPX API.
-
namespace
hpx
-
namespace
parallel
-
namespace
execution
Variables
-
hpx::parallel::execution::post_after_t
post_after
¶
-
hpx::parallel::execution::async_execute_at_t
async_execute_at
¶
-
hpx::parallel::execution::async_execute_after_t
async_execute_after
¶
-
hpx::parallel::execution::sync_execute_at_t
sync_execute_at
¶
-
hpx::parallel::execution::sync_execute_after_t
sync_execute_after
¶
-
struct
async_execute_after_t
: public hpx::functional::tag_fallback<async_execute_after_t>¶ - #include <timed_execution_fwd.hpp>
Customization point of asynchronous execution agent creation supporting timed execution.
This asynchronously creates a single function invocation f() using the associated executor at the given point in time.
- Return
f(ts…)’s result through a future
- Note
This calls exec.async_execute_after(rel_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::async_execute() on the underlying non-time-scheduled execution agent.
- Parameters
exec
: [in] The executor object to use for scheduling of the function f.rel_time
: [in] The duration of time after which the given function should be scheduled to run.f
: [in] The function which will be scheduled using the given executor.ts...
: [in] Additional arguments to use to invoke f.
Private Functions
-
template<typename
Executor
, typenameF
, typename ...Ts
>
decltype(auto) friendtag_fallback_dispatch
(async_execute_after_t, Executor &&exec, hpx::chrono::steady_duration const &rel_time, F &&f, Ts&&... ts)¶
-
struct
async_execute_at_t
: public hpx::functional::tag_fallback<async_execute_at_t>¶ - #include <timed_execution_fwd.hpp>
Customization point of asynchronous execution agent creation supporting timed execution.
This asynchronously creates a single function invocation f() using the associated executor at the given point in time.
- Return
f(ts…)’s result through a future
- Note
This calls exec.async_execute_at(abs_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::async_execute() on the underlying non-time-scheduled execution agent.
- Parameters
exec
: [in] The executor object to use for scheduling of the function f.abs_time
: [in] The point in time the given function should be scheduled at to run.f
: [in] The function which will be scheduled using the given executor.ts...
: [in] Additional arguments to use to invoke f.
Private Functions
-
template<typename
Executor
, typenameF
, typename ...Ts
>
decltype(auto) friendtag_fallback_dispatch
(async_execute_at_t, Executor &&exec, hpx::chrono::steady_time_point const &abs_time, F &&f, Ts&&... ts)¶
-
struct
post_after_t
: public hpx::functional::tag_fallback<post_after_t>¶ - #include <timed_execution_fwd.hpp>
Customization point of asynchronous fire & forget execution agent creation supporting timed execution.
This asynchronously (fire & forget) creates a single function invocation f() using the associated executor at the given point in time.
- Note
This calls exec.post_after(rel_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::post() on the underlying non-time-scheduled execution agent.
- Parameters
exec
: [in] The executor object to use for scheduling of the function f.rel_time
: [in] The duration of time after which the given function should be scheduled to run.f
: [in] The function which will be scheduled using the given executor.ts...
: [in] Additional arguments to use to invoke f.
Private Functions
-
template<typename
Executor
, typenameF
, typename ...Ts
>
decltype(auto) friendtag_fallback_dispatch
(post_after_t, Executor &&exec, hpx::chrono::steady_duration const &rel_time, F &&f, Ts&&... ts)¶
-
struct
post_at_t
: public hpx::functional::tag_fallback<post_at_t>¶ - #include <timed_execution_fwd.hpp>
Customization point of asynchronous fire & forget execution agent creation supporting timed execution.
This asynchronously (fire & forget) creates a single function invocation f() using the associated executor at the given point in time.
- Note
This calls exec.post_at(abs_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::post() on the underlying non-time-scheduled execution agent.
- Parameters
exec
: [in] The executor object to use for scheduling of the function f.abs_time
: [in] The point in time the given function should be scheduled at to run.f
: [in] The function which will be scheduled using the given executor.ts...
: [in] Additional arguments to use to invoke f.
-
struct
sync_execute_after_t
: public hpx::functional::tag_fallback<sync_execute_after_t>¶ - #include <timed_execution_fwd.hpp>
Customization point of synchronous execution agent creation supporting timed execution.
This synchronously creates a single function invocation f() using the associated executor at the given point in time.
- Return
f(ts…)’s result
- Note
This calls exec.sync_execute_after(rel_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::sync_execute() on the underlying non-time-scheduled execution agent.
- Parameters
exec
: [in] The executor object to use for scheduling of the function f.rel_time
: [in] The duration of time after which the given function should be scheduled to run.f
: [in] The function which will be scheduled using the given executor.ts...
: [in] Additional arguments to use to invoke f.
Private Functions
-
template<typename
Executor
, typenameF
, typename ...Ts
>
decltype(auto) friendtag_fallback_dispatch
(sync_execute_after_t, Executor &&exec, hpx::chrono::steady_duration const &rel_time, F &&f, Ts&&... ts)¶
-
struct
sync_execute_at_t
: public hpx::functional::tag_fallback<sync_execute_at_t>¶ - #include <timed_execution_fwd.hpp>
Customization point of synchronous execution agent creation supporting timed execution.
This synchronously creates a single function invocation f() using the associated executor at the given point in time.
- Return
f(ts…)’s result
- Note
This calls exec.sync_execute_at(abs_time, f, ts…), if available, otherwise it emulates timed scheduling by delaying calling execution::sync_execute() on the underlying non-time-scheduled execution agent.
- Parameters
exec
: [in] The executor object to use for scheduling of the function f.abs_time
: [in] The point in time the given function should be scheduled at to run.f
: [in] The function which will be scheduled using the given executor.ts...
: [in] Additional arguments to use to invoke f.
Private Functions
-
template<typename
Executor
, typenameF
, typename ...Ts
>
decltype(auto) friendtag_fallback_dispatch
(sync_execute_at_t, Executor &&exec, hpx::chrono::steady_time_point const &abs_time, F &&f, Ts&&... ts)¶
-
hpx::parallel::execution::post_after_t
-
namespace
-
namespace
-
namespace
hpx
-
namespace
parallel
-
namespace
execution
Typedefs
-
using
sequenced_timed_executor
= timed_executor<hpx::execution::sequenced_executor>¶
-
using
parallel_timed_executor
= timed_executor<hpx::execution::parallel_executor>¶
-
template<typename
BaseExecutor
>
structtimed_executor
¶ Public Types
-
typedef hpx::traits::executor_execution_category<base_executor_type>::type
execution_category
¶
-
typedef hpx::traits::executor_parameters_type<base_executor_type>::type
parameters_type
¶
Public Functions
-
timed_executor
(hpx::chrono::steady_time_point const &abs_time)¶
-
timed_executor
(hpx::chrono::steady_duration const &rel_time)¶
-
template<typename
Executor
>timed_executor
(Executor &&exec, hpx::chrono::steady_time_point const &abs_time)¶
-
template<typename
Executor
>timed_executor
(Executor &&exec, hpx::chrono::steady_duration const &rel_time)¶
-
template<typename
F
, typename ...Ts
>
hpx::util::detail::invoke_deferred_result<F, Ts...>::typesync_execute
(F &&f, Ts&&... ts)¶
-
typedef hpx::traits::executor_execution_category<base_executor_type>::type
-
using
-
namespace
-
namespace
-
namespace
hpx
-
namespace
parallel
-
namespace
execution
-
Variables
-
template<typename T>HPX_INLINE_CONSTEXPR_VARIABLE bool hpx::parallel::execution::is_timed_executor_v=is_timed_executor<T>::value
-
-
namespace
-
namespace