CAF  0.17.3
Classes | Public Types | Public Member Functions | Public Attributes | Related Functions | List of all members
caf::downstream_msg Struct Reference

Stream messages that travel downstream, i.e., batches and close messages. More...

#include <downstream_msg.hpp>

Inheritance diagram for caf::downstream_msg:


struct  batch
 Transmits stream data. More...
struct  close
 Orderly shuts down a stream after receiving an ACK for the last batch. More...
struct  forced_close
 Propagates a fatal error from sources to sinks. More...

Public Types

using alternatives = detail::type_list< batch, close, forced_close >
 Lists all possible options for the payload.
using content_type = variant< batch, close, forced_close >
 Stores one of alternatives.

Public Member Functions

template<class T >
 downstream_msg (stream_slots s, actor_addr addr, T &&x)
 downstream_msg (downstream_msg &&)=default
 downstream_msg (const downstream_msg &)=default
downstream_msgoperator= (downstream_msg &&)=default
downstream_msgoperator= (const downstream_msg &)=default

Public Attributes

stream_slots slots
 ID of the affected stream.
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< downstream_msg::alternatives, T >, downstream_msgmake (stream_slots slots, actor_addr addr, Ts &&... xs)
template<class Inspector >
Inspector::result_type inspect (Inspector &f, downstream_msg &x)

Detailed Description

Stream messages that travel downstream, i.e., batches and close messages.

Member Data Documentation

◆ sender

actor_addr caf::downstream_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: