CAF 0.17.6
Loading...
Searching...
No Matches
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:
caf::tag::boxing_type

Classes

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_msg & operator= (downstream_msg &&)=default
downstream_msg & operator= (const downstream_msg &)=default

Public Attributes

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