libcaf  0.16.3
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

◆ deliver()

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.

◆ next()

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: