Aggregator for point-to-point requests. More...
Public Member Functions | |
template<typename Handle > | |
aggregator (context &ctx, Handle const &h, const location_md::id dst) | |
Create a new aggregator that flushes requests by default when destroyed. More... | |
template<typename Handle > | |
aggregator (context &ctx, Handle const &h, const location_md::id dst, no_implicit_flush_t) | |
Create a new aggregator that may or may not flush requests when destroyed, depending on the handle flags. More... | |
bool | is_on_shmem (void) const noexcept |
Returns true if the destination is on shared memory. | |
void * | allocate (const std::size_t n) |
Allocates n bytes for storing a request. | |
std::pair< void *, void * > | allocate (rmi_delegate const &d, const std::size_t n, const std::size_t combined) |
Allocates combined bytes for storing a combined request or n bytes if combining is not possible. More... | |
Aggregator for point-to-point requests.
It aggregates requests in an internal buffer until the latter is flushed, either because it is full or because of an explicit flush.
stapl::runtime::aggregator::aggregator | ( | context & | ctx, |
Handle const & | h, | ||
const location_md::id | dst | ||
) |
Create a new aggregator that flushes requests by default when destroyed.
ctx | Current context. |
h | Destination object handle. |
dst | Destination location. |
stapl::runtime::aggregator::aggregator | ( | context & | ctx, |
Handle const & | h, | ||
const location_md::id | dst, | ||
no_implicit_flush_t | |||
) |
Create a new aggregator that may or may not flush requests when destroyed, depending on the handle flags.
ctx | Current context. |
h | Destination object handle. |
dst | Destination location. |
std::pair<void*, void*> stapl::runtime::aggregator::allocate | ( | rmi_delegate const & | d, |
const std::size_t | n, | ||
const std::size_t | combined | ||
) |
Allocates combined
bytes for storing a combined request or n
bytes if combining is not possible.
std::pair
with the request that the new one will be combined with and a pointer to available space.