CAF  0.17.2
Classes | Public Types | Public Member Functions | Public Attributes | Related Functions | List of all members
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:


struct  ack_batch
 Cumulatively acknowledges received batches and signalizes new demand from a sink to its source. More...
struct  ack_open
 Acknowledges a previous open message and finalizes a stream handshake. 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 = detail::type_list< ack_open, ack_batch, drop, forced_drop >
 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_msgoperator= (upstream_msg &&)=default
upstream_msgoperator= (const upstream_msg &)=default

Public Attributes

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

Related Functions

(Note that these are not member functions.)

template<class T , class... Ts>
detail::enable_if_tt< detail::tl_contains< upstream_msg::alternatives, T >, upstream_msgmake (stream_slots slots, actor_addr addr, Ts &&... xs)
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 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: