STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
List of all members | Public Member Functions
stapl::runtime::aggregator Class Reference

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

Detailed Description

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.

Constructor & Destructor Documentation

◆ aggregator() [1/2]

template<typename Handle >
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.

Parameters
ctxCurrent context.
hDestination object handle.
dstDestination location.

◆ aggregator() [2/2]

template<typename Handle >
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.

Parameters
ctxCurrent context.
hDestination object handle.
dstDestination location.

Member Function Documentation

◆ allocate()

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.

Returns
An std::pair with the request that the new one will be combined with and a pointer to available space.

The documentation for this class was generated from the following file: