22#include "data/AmendmentCenterInterface.hpp"
23#include "data/BackendInterface.hpp"
24#include "feed/SubscriptionManagerInterface.hpp"
25#include "rpc/common/AnyHandler.hpp"
26#include "rpc/common/HandlerProvider.hpp"
27#include "rpc/common/Types.hpp"
28#include "util/log/Logger.hpp"
33#include <unordered_map>
48 bool isClioOnly =
false;
51 std::unordered_map<std::string, Handler> handlerMap_;
56 std::shared_ptr<BackendInterface>
const& backend,
57 std::shared_ptr<feed::SubscriptionManagerInterface>
const& subscriptionManager,
58 std::shared_ptr<etl::LoadBalancer>
const& balancer,
59 std::shared_ptr<etl::ETLService const>
const&
etl,
60 std::shared_ptr<data::AmendmentCenterInterface const>
const& amendmentCenter,
65 contains(std::string
const& command)
const override;
67 std::optional<AnyHandler>
68 getHandler(std::string
const& command)
const override;
71 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:45
std::optional< AnyHandler > getHandler(std::string const &command) const override
Get the handler for a given method.
Definition HandlerProvider.cpp:127
bool contains(std::string const &command) const override
Check if the provider contains a handler for a given method.
Definition HandlerProvider.cpp:121
bool isClioOnly(std::string const &command) const override
Check if a given method is Clio-only.
Definition HandlerProvider.cpp:136
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:36
This namespace contains all the RPC logic and handlers.
Definition AMMHelpers.cpp:36