libcaf  0.17.1
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | List of all members
caf::response_promise Class Reference

A response promise can be used to deliver a uniquely identifiable response message from the server (i.e. More...

#include <response_promise.hpp>

Public Types

using forwarding_stack = std::vector< strong_actor_ptr >
 

Public Member Functions

 response_promise ()
 Constructs an invalid response promise.
 
 response_promise (none_t)
 
 response_promise (strong_actor_ptr self, strong_actor_ptr source, forwarding_stack stages, message_id id)
 
 response_promise (strong_actor_ptr self, mailbox_element &src)
 
 response_promise (response_promise &&)=default
 
 response_promise (const response_promise &)=default
 
response_promiseoperator= (response_promise &&)=default
 
response_promiseoperator= (const response_promise &)=default
 
template<class T , class... Ts>
detail::enable_if_t
<((sizeof...(Ts) >
0)||(!std::is_convertible< T,
error >::value &&!std::is_same
< detail::decay_t< T >, unit_t >
::value))&&!detail::is_expected
< detail::decay_t< T >
>::value > 
deliver (T &&x, Ts &&...xs)
 Satisfies the promise by sending a non-error response message.
 
template<class T >
void deliver (expected< T > x)
 
template<message_priority P = message_priority::normal, class Handle = actor, class... Ts>
response_type< typename
Handle::signatures,
detail::implicit_conversions_t
< typename std::decay< Ts >
::type >... >::delegated_type 
delegate (const Handle &dest, Ts &&...xs)
 Satisfies the promise by delegating to another actor.
 
void deliver (error x)
 Satisfies the promise by sending an error response message.
 
void deliver (unit_t x)
 Satisfies the promise by sending an empty message if this promise has a valid message ID, i.e., async() == false. More...
 
bool async () const
 Returns whether this response promise replies to an asynchronous message.
 
bool pending () const
 Queries whether this promise is a valid promise that is not satisfied yet.
 
const strong_actor_ptrsource () const
 Returns the source of the corresponding request.
 
const forwarding_stack & stages () const
 Returns the remaining stages for the corresponding request.
 
strong_actor_ptr next () const
 Returns the actor that will receive the response, i.e., stages().front() if !stages().empty() or source() otherwise. More...
 
message_id id () const
 Returns the message ID of the corresponding request.
 

Detailed Description

A response promise can be used to deliver a uniquely identifiable response message from the server (i.e.

receiver of the request) to the client (i.e. the sender of the request).

Member Function Documentation

void caf::response_promise::deliver ( unit_t  x)

Satisfies the promise by sending an empty message if this promise has a valid message ID, i.e., async() == false.

strong_actor_ptr caf::response_promise::next ( ) const

Returns the actor that will receive the response, i.e., stages().front() if !stages().empty() or source() otherwise.


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