|
template<typename Handle , typename F , typename... U> |
| async_rmi_request (Handle &&h, F &&f, U &&... u) noexcept |
|
const void * | end (void) const noexcept |
| Returns a pointer to the end of this request.
|
|
bool | operator() (context &ctx) final |
|
void | combined (const size_type size) noexcept |
| Informs that a request has been combined by increasing the size of first request.
|
|
constexpr size_type | num_requests (void) const noexcept |
|
constexpr size_type | size (void) const noexcept |
|
size_type & | size (void) noexcept |
|
template<typename ObjectHandle, typename MemFun, typename... T>
class stapl::runtime::async_rmi_request< ObjectHandle, MemFun, T >
RMI request that discards the return value and supports combining.
- Template Parameters
-
ObjectHandle | Distributed object handle type. |
MemFun | Member function pointer type. |
T | Argument types. |
This RMI request supports combining. It is detected at runtime if two requests can be combined and if so, they are. Combining consists of keeping only the set of arguments instead of also the object handle and the member function pointer, saving on space and required function calls.
In general combining is detected if the size of the sent request is bigger than the size of the current executed request (given by the arguments). However, if the argument size is 0, an additional counter that gives the number of aggregated requests exists.