Performs a broadcast over all locations of the current gang. More...
Public Member Functions | |
broadcast_object (context &ctx) | |
rmi_handle::reference const & | get_rmi_handle (void) noexcept |
rmi_handle::const_reference const & | get_rmi_handle (void) const noexcept |
void | operator() (T const &t) |
void | operator() (T &&t) |
bool | valid (void) const final |
Returns true if the result has been received. | |
void | wait (void) const final |
Waits for the result to be received. More... | |
void | wait (context &ctx) const |
Waits for the result to be received. More... | |
T | get (void) final |
Returns the received result. More... | |
T | get (context &ctx) |
Returns the received result. More... | |
void | set_value (storage_type *const p, void *const base, message_shared_ptr &m) |
Sets the result. More... | |
void | set_value (T const &value) |
Sets the result. More... | |
void | set_value (T &&value) |
void | set_owned (void) noexcept |
bool | is_owned (void) const noexcept |
template<typename Function > | |
void | async_then (Function &&f) |
Public Types | |
using | value_type = T |
typedef internal_storage_type::storage_type | storage_type |
Protected Member Functions | |
bool | valid_no_yield (void) const noexcept final |
Returns true if the result has been received. | |
void | schedule_continuation (void) |
Schedules a continuation if async_then() was called. | |
Protected Attributes | |
std::mutex | m_mtx |
Performs a broadcast over all locations of the current gang.
T | Object type. |
|
finalvirtualinherited |
Waits for the result to be received.
Blocks until valid() const returns true
.
Implements stapl::runtime::future_base< T >.
|
inherited |
Waits for the result to be received.
Blocks until valid() const returns true
.
|
finalvirtualinherited |
Returns the received result.
This function waits until the result has been received and returns it.
Calling valid() const returns false
after a call to this function.
The lock ensures that set_value() has finished before the get() continues, to avoid calling schedule_continuation() on an object that has been destroyed.
Implements stapl::runtime::future_base< T >.
|
inherited |
Returns the received result.
This function waits until the result has been received and returns it.
Calling valid() const returns false
after a call to this function.
The lock ensures that set_value() has finished before the get() continues, to avoid calling schedule_continuation() on an object that has been destroyed.
|
inherited |
Sets the result.
This function keeps a pointer to the buffer where the result remains packed until get() is called.
p | Pointer to the stapl::runtime::arg_storage in the buffer. |
base | Address in the buffer that the stapl::runtime::arg_storage is stored in. |
m | Buffer that contains the stapl::runtime::arg_storage . |
|
inherited |
Sets the result.
value | Value to be set. |
|
inherited |