22#include "data/AmendmentCenterInterface.hpp"
23#include "data/BackendInterface.hpp"
24#include "etlng/ETLServiceInterface.hpp"
26#include "feed/SubscriptionManagerInterface.hpp"
27#include "rpc/common/AnyHandler.hpp"
28#include "rpc/common/HandlerProvider.hpp"
29#include "rpc/common/Types.hpp"
30#include "util/log/Logger.hpp"
35#include <unordered_map>
46 bool isClioOnly =
false;
49 std::unordered_map<std::string, Handler> handlerMap_;
54 std::shared_ptr<BackendInterface>
const& backend,
55 std::shared_ptr<feed::SubscriptionManagerInterface>
const& subscriptionManager,
56 std::shared_ptr<etlng::LoadBalancerInterface>
const& balancer,
57 std::shared_ptr<etlng::ETLServiceInterface const>
const&
etl,
58 std::shared_ptr<data::AmendmentCenterInterface const>
const& amendmentCenter,
63 contains(std::string
const& command)
const override;
65 std::optional<AnyHandler>
66 getHandler(std::string
const& command)
const override;
69 isClioOnly(std::string
const& command)
const override;
A type-erased Handler that can contain any (NextGen) RPC handler class.
Definition AnyHandler.hpp:39
Holds information about successful, failed, forwarded, etc. RPC handler calls.
Definition Counters.hpp:39
Interface for the provider of RPC handlers.
Definition HandlerProvider.hpp:32
Definition HandlerProvider.hpp:43
std::optional< AnyHandler > getHandler(std::string const &command) const override
Get the handler for a given method.
Definition HandlerProvider.cpp:128
bool contains(std::string const &command) const override
Check if the provider contains a handler for a given method.
Definition HandlerProvider.cpp:122
bool isClioOnly(std::string const &command) const override
Check if a given method is Clio-only.
Definition HandlerProvider.cpp:137
All the config data will be stored and extracted from this class.
Definition ConfigDefinition.hpp:54
This namespace contains everything to do with the ETL and ETL sources.
Definition CacheLoader.hpp:37
This namespace contains all the RPC logic and handlers.
Definition AMMHelpers.cpp:37