C++ Actor Framework 1.0.0
|
Publishes the items from a single operator to multiple subscribers. More...
#include <publish.hpp>
Inherits caf::flow::op::mcast< T >, and observer_impl< T >.
Public Types | |
using | super = mcast<T> |
using | state_type = typename super::state_type |
using | state_ptr_type = mcast_sub_state_ptr<T> |
using | src_ptr = intrusive_ptr<base<T>> |
Public Member Functions | |
publish (coordinator *parent, src_ptr src, size_t max_buf_size=defaults::flow::buffer_size) | |
coordinator * | parent () const noexcept override |
Returns the coordinator this object lives on. | |
void | ref_coordinated () const noexcept override |
Increases the reference count of the coordinated. | |
void | deref_coordinated () const noexcept override |
Decreases the reference count of the coordinated and destroys the object if necessary. | |
disposable | subscribe (observer< T > out) override |
Subscribes a new observer to the operator. | |
disposable | connect () |
void | auto_connect_threshold (size_t new_value) |
void | auto_disconnect (bool new_value) |
bool | connected () const noexcept |
void | on_next (const T &item) override |
void | on_complete () override |
void | on_error (const error &what) override |
void | on_subscribe (subscription in) override |
void | on_consumed_some (state_type *, size_t, size_t) override |
Protected Member Functions | |
void | try_request_more () |
Friends | |
void | intrusive_ptr_add_ref (const publish *ptr) noexcept |
void | intrusive_ptr_release (const publish *ptr) noexcept |
Publishes the items from a single operator to multiple subscribers.
|
overridevirtualnoexcept |
Decreases the reference count of the coordinated and destroys the object if necessary.
Reimplemented from caf::flow::op::hot< T >.
|
overridevirtualnoexcept |
Returns the coordinator this object lives on.
Reimplemented from caf::flow::op::hot< T >.
|
overridevirtualnoexcept |
Increases the reference count of the coordinated.
Reimplemented from caf::flow::op::hot< T >.
|
overridevirtual |
Subscribes a new observer to the operator.
Implements caf::flow::op::base< T >.