wrapped request specialization, when the request should be wrapped into intrusive pointer More...
#include <request.hpp>
Public Types | |
using | raw_request_t = T |
alias for original (unwrapped) request payload type | |
using | request_t = intrusive_ptr_t< T > |
alias for original request payload type wrapped into intrusive pointer | |
using | response_t = typename T::response_t |
alias for original (unwrapped) response payload type | |
Public Member Functions | |
wrapped_request_t (request_id_t id_, const address_ptr_t &reply_to_, const address_ptr_t &origin_, const request_t &request_) | |
makes an intrusive pointer for already constructed user-supplied payload | |
template<typename... Args, typename E = std::enable_if_t<std::is_constructible_v<raw_request_t, Args...>>> | |
wrapped_request_t (request_id_t id_, const address_ptr_t &reply_to_, const address_ptr_t &origin_, Args &&...args) | |
constructs wrapper for user-supplied payload from request-id and and destination reply address | |
Public Attributes | |
request_t | request_payload |
intrusive pointer to user-supplied payload | |
Public Attributes inherited from rotor::request_base_t | |
request_id_t | id |
unique (per supervisor) request id | |
address_ptr_t | reply_to |
destination address for reply | |
address_ptr_t | origin |
the source (original) actor address, which made an request | |
wrapped request specialization, when the request should be wrapped into intrusive pointer
|
inline |
makes an intrusive pointer for already constructed user-supplied payload
The different request-id
and reply_to
address arguments are supplied to make it possible cheaply forward requests.