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:
caf::tag::boxing_type

Classes

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: