4#include "rpc/common/AnyHandler.hpp"
24namespace util::config {
25class ClioConfigDefinition;
42 std::shared_ptr<data::BackendInterface>
const& backend;
43 std::shared_ptr<feed::SubscriptionManagerInterface>
const& subscriptionManager;
44 std::shared_ptr<etl::LoadBalancerInterface>
const& balancer;
45 std::shared_ptr<etl::ETLServiceInterface const>
const& etl;
46 std::shared_ptr<data::AmendmentCenterInterface const>
const& amendmentCenter;
63 std::string_view name;
65 bool isClioOnly =
false;
76[[nodiscard]] std::span<HandlerEntry const>
77handlerRegistry() noexcept;
AnyHandler(*)(HandlerDeps const &) HandlerFactory
Constructs one type-erased handler from the available dependencies.
Definition HandlerRegistry.hpp:56
The interface of an amendment center.
Definition AmendmentCenterInterface.hpp:17
The interface to the database used by Clio.
Definition BackendInterface.hpp:211
An interface for LoadBalancer.
Definition LoadBalancerInterface.hpp:40
Interface of subscription manager. A subscription manager is responsible for managing the subscriptio...
Definition SubscriptionManagerInterface.hpp:25
A type-erased Handler that can contain any (NextGen) RPC handler class.
Definition AnyHandler.hpp:20
Holds information about successful, failed, forwarded, etc. RPC handler calls.
Definition Counters.hpp:22
All the config data will be stored and extracted from this class.
Definition ConfigDefinition.hpp:31
This namespace implements the data access layer and related components.
Definition AmendmentCenter.cpp:56
This namespace implements everything related to subscriptions.
Definition BookChangesFeed.hpp:14
This namespace contains all the RPC logic and handlers.
Definition AMMHelpers.cpp:17
This is a base class for any ETL service implementations.
Definition ETLServiceInterface.hpp:17
The bundle of runtime dependencies a handler factory may consume.
Definition HandlerRegistry.hpp:40
One row of the handler registry: the method name, how to construct the handler, and its static metada...
Definition HandlerRegistry.hpp:62