CAF 0.17.6
Loading...
Searching...
No Matches
caf::upstream_msg Struct Reference

Stream messages that flow upstream, i.e., acks and drop messages. More...

#include <upstream_msg.hpp>

Inheritance diagram for caf::upstream_msg:
caf::tag::boxing_type

Classes

struct  ack_open
 Acknowledges a previous open message and finalizes a stream handshake. More...
struct  ack_batch
 Cumulatively acknowledges received batches and signalizes new demand from a sink to its source. More...
struct  drop
 Asks the source to discard any remaining credit and close this path after receiving an ACK for the last batch. More...
struct  forced_drop
 Propagates a fatal error from sinks to sources. More...

Public Types

using alternatives
 Lists all possible options for the payload.
using content_type = variant<ack_open, ack_batch, drop, forced_drop>
 Stores one of alternatives.

Public Member Functions

template<class T>
 upstream_msg (stream_slots id, actor_addr addr, T &&x)
 upstream_msg (upstream_msg &&)=default
 upstream_msg (const upstream_msg &)=default
upstream_msg & operator= (upstream_msg &&)=default
upstream_msg & operator= (const upstream_msg &)=default

Public Attributes

stream_slots slots
 Stream slots of sender and receiver.
actor_addr sender
 Address of the sender.
content_type content
 Palyoad of the message.

(Note that these are not member symbols.)

template<class T, class... Ts>
detail::enable_if_tt< detail::tl_contains< upstream_msg::alternatives, T >, upstream_msg > make (stream_slots slots, actor_addr addr, Ts &&... xs)
template<class Inspector>
Inspector::result_type inspect (Inspector &f, upstream_msg::ack_open &x)
template<class Inspector>
Inspector::result_type inspect (Inspector &f, upstream_msg::ack_batch &x)
template<class Inspector>
Inspector::result_type inspect (Inspector &f, upstream_msg::drop &)
template<class Inspector>
Inspector::result_type inspect (Inspector &f, upstream_msg::forced_drop &x)
template<class Inspector>
Inspector::result_type inspect (Inspector &f, upstream_msg &x)

Detailed Description

Stream messages that flow upstream, i.e., acks and drop messages.

Member Typedef Documentation

◆ alternatives

Initial value:

Lists all possible options for the payload.

Member Data Documentation

◆ sender

actor_addr caf::upstream_msg::sender

Address of the sender.

Identifies the up- or downstream actor sending this message. Note that abort messages can get send after sender already terminated. Hence, current_sender() can be nullptr, because no strong pointers can be formed any more and receiver would receive an anonymous message.


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