3#include "feed/Types.hpp"
4#include "feed/impl/TrackableSignal.hpp"
5#include "util/async/AnyExecutionContext.hpp"
6#include "util/async/AnyStrand.hpp"
7#include "util/log/Logger.hpp"
8#include "util/prometheus/Gauge.hpp"
10#include <boost/asio/io_context.hpp>
11#include <boost/asio/strand.hpp>
25 std::reference_wrapper<util::prometheus::GaugeInt> subCount_;
43 sub(SubscriberSharedPtr
const& subscriber);
50 unsub(SubscriberSharedPtr
const& subscriber);
67 unsubInternal(SubscriberPtr subscriber);
void unsub(SubscriberSharedPtr const &subscriber)
Unsubscribe the feed.
Definition SingleFeedBase.cpp:45
std::uint64_t count() const
Get the count of subscribers.
Definition SingleFeedBase.cpp:60
void pub(std::string msg)
Publishes the feed in strand.
Definition SingleFeedBase.cpp:51
SingleFeedBase(util::async::AnyExecutionContext &executionCtx, std::string const &name)
Construct a new Single Feed Base object.
Definition SingleFeedBase.cpp:16
void sub(SubscriberSharedPtr const &subscriber)
Subscribe the feed.
Definition SingleFeedBase.cpp:25
A thread-safe class to manage a signal and its tracking connections.
Definition TrackableSignal.hpp:26
A simple thread-safe logger for the channel specified in the constructor.
Definition Logger.hpp:78
A type-erased execution context.
Definition AnyExecutionContext.hpp:22
A type-erased execution context.
Definition AnyStrand.hpp:21