| Flow 1.0.2
    Flow project: Full implementation reference. | 
#include "flow/async/async_fwd.hpp"#include "flow/async/op.hpp"#include "flow/util/sched_task_fwd.hpp"#include "flow/util/util.hpp"Go to the source code of this file.
| Classes | |
| class | flow::async::Concurrent_task_loop | 
| The core flow::async interface, providing an optionally multi-threaded thread pool onto which runnable Tasks, optionally arranged into concurrency-avoidingOps, can be boost.asio-posted for subsequent execution.  More... | |
| Namespaces | |
| namespace | flow | 
| Catch-all namespace for the Flow project: A collection of various production-quality modules written in modern C++17, originally by ygoldfel. | |
| namespace | flow::async | 
| Flow module containing tools enabling multi-threaded event loops operating under the asynchronous-task proactor pattern, by providing a streamlined API around boost.asio event loops with added advanced task- and thread-scheduling features. | |
| Macros | |
| #define | FLOW_ASYNC_HW_THREAD_AFFINITY_PTHREAD_VIA_CORE_IDX | 
| Macro set to 1(else0) if and only if natively the pthread API allows one to set thread-to-core affinity.  More... | |
| #define | FLOW_ASYNC_HW_THREAD_AFFINITY_MACH_VIA_POLICY_TAG | 
| Macro set to 1(else0) if and only if natively there is Mach kernel API that allows to set thread-to-core affinity using the policy tag mechanism.  More... | |
| Functions | |
| template<typename Handler > | |
| auto | flow::async::asio_handler_via_op (Concurrent_task_loop *loop, const Op &op, Handler &&handler) | 
| Given a boost.asio completion handler handlerfor a boost.asioasync_*()action on some boost.asio I/O object to be initiated in the immediate near future, returns a wrapped handler with the same signature to be passed as the handler arg to thatasync_*()action, so thathandler()will execute non-concurrently with other tasks inOp op.  More... | |
| #define FLOW_ASYNC_HW_THREAD_AFFINITY_MACH_VIA_POLICY_TAG | 
Macro set to 1 (else 0) if and only if natively there is Mach kernel API that allows to set thread-to-core affinity using the policy tag mechanism. 
This is specific to Mac kernels (used in Darwin/Mac) and not all of them.
The macro conceptually belongs to the flow::async namespace, hence the prefix.
Definition at line 668 of file concurrent_task_loop.hpp.
| #define FLOW_ASYNC_HW_THREAD_AFFINITY_PTHREAD_VIA_CORE_IDX | 
Macro set to 1 (else 0) if and only if natively the pthread API allows one to set thread-to-core affinity. 
This API, if available, is an extension of POSIX and not always available.
The macro conceptually belongs to the flow::async namespace, hence the prefix.
Definition at line 656 of file concurrent_task_loop.hpp.