Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
Aggregator base class and expert interface. More...
#include <aggregator.h>
Public Member Functions | |
aggregator_ext (const handler_type &h) | |
void | process (aggregator_operation *op) |
EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox. More... | |
Protected Member Functions | |
void | execute_impl (aggregator_operation &op) |
Private Member Functions | |
void | start_handle_operations () |
Trigger the handling of operations when the handler is free. More... | |
![]() | |
no_copy (const no_copy &)=delete | |
no_copy ()=default | |
Private Attributes | |
atomic< aggregator_operation * > | mailbox |
An atomically updated list (aka mailbox) of aggregator_operations. More... | |
uintptr_t | handler_busy |
Controls thread access to handle_operations. More... | |
handler_type | handle_operations |
Aggregator base class and expert interface.
An aggregator for collecting operations coming from multiple sources and executing them serially on a single thread.
Definition at line 96 of file aggregator.h.
|
inline |
Definition at line 98 of file aggregator.h.
|
inlineprotected |
Place operation in mailbox, then either handle mailbox or wait for the operation to be completed by a different thread.
Definition at line 107 of file aggregator.h.
|
inline |
EXPERT INTERFACE: Enter a user-made operation into the aggregator's mailbox.
Details of user-made operations must be handled by user-provided handler
Definition at line 102 of file aggregator.h.
|
inlineprivate |
Trigger the handling of operations when the handler is free.
Definition at line 148 of file aggregator.h.
|
private |
Definition at line 145 of file aggregator.h.
|
private |
Controls thread access to handle_operations.
Behaves as boolean flag where 0=false, 1=true
Definition at line 143 of file aggregator.h.
|
private |
An atomically updated list (aka mailbox) of aggregator_operations.
Definition at line 139 of file aggregator.h.