Clio develop
The XRP Ledger API server.
Loading...
Searching...
No Matches
rpc::BaseServerInfoHandler< LoadBalancerType, ETLServiceType, CountersType > Class Template Reference

Contains common functionality for handling the server_info command. More...

#include <ServerInfo.hpp>

Classes

struct  AdminSection
 A struct to hold the admin section of the output. More...
 
struct  CacheSection
 A struct to hold the cache section of the output. More...
 
struct  InfoSection
 A struct to hold the info section of the output. More...
 
struct  Input
 A struct to hold the input data for the command. More...
 
struct  Output
 A struct to hold the output data of the command. More...
 
struct  ValidatedLedgerSection
 A struct to hold the validated ledger section of the output. More...
 

Public Types

using Result = HandlerReturnType<Output>
 

Public Member Functions

 BaseServerInfoHandler (std::shared_ptr< BackendInterface > const &backend, std::shared_ptr< feed::SubscriptionManagerInterface > const &subscriptions, std::shared_ptr< LoadBalancerType > const &balancer, std::shared_ptr< ETLServiceType const > const &etl, CountersType const &counters)
 Construct a new BaseServerInfoHandler object.
 
Result process (Input input, Context const &ctx) const
 Process the ServerInfo command.
 

Static Public Member Functions

static RpcSpecConstRef spec (uint32_t apiVersion)
 Returns the API specification for the command.
 

Friends

void tag_invoke (boost::json::value_from_tag, boost::json::value &jv, Output const &output)
 
void tag_invoke (boost::json::value_from_tag, boost::json::value &jv, InfoSection const &info)
 
void tag_invoke (boost::json::value_from_tag, boost::json::value &jv, ValidatedLedgerSection const &validated)
 
void tag_invoke (boost::json::value_from_tag, boost::json::value &jv, CacheSection const &cache)
 
Input tag_invoke (boost::json::value_to_tag< Input >, boost::json::value const &jv)
 

Detailed Description

template<typename LoadBalancerType, typename ETLServiceType, typename CountersType>
class rpc::BaseServerInfoHandler< LoadBalancerType, ETLServiceType, CountersType >

Contains common functionality for handling the server_info command.

Template Parameters
LoadBalancerTypeThe type of the load balancer
ETLServiceTypeThe type of the ETL service
CountersTypeThe type of the counters

Constructor & Destructor Documentation

◆ BaseServerInfoHandler()

template<typename LoadBalancerType , typename ETLServiceType , typename CountersType >
rpc::BaseServerInfoHandler< LoadBalancerType, ETLServiceType, CountersType >::BaseServerInfoHandler ( std::shared_ptr< BackendInterface > const & backend,
std::shared_ptr< feed::SubscriptionManagerInterface > const & subscriptions,
std::shared_ptr< LoadBalancerType > const & balancer,
std::shared_ptr< ETLServiceType const > const & etl,
CountersType const & counters )
inline

Construct a new BaseServerInfoHandler object.

Parameters
backendThe backend to use
subscriptionsThe subscription manager to use
balancerThe load balancer to use
etlThe ETL service to use
countersThe counters to use

Member Function Documentation

◆ process()

template<typename LoadBalancerType , typename ETLServiceType , typename CountersType >
Result rpc::BaseServerInfoHandler< LoadBalancerType, ETLServiceType, CountersType >::process ( Input input,
Context const & ctx ) const
inline

Process the ServerInfo command.

Parameters
inputThe input data for the command
ctxThe context of the request
Returns
The result of the operation

◆ spec()

template<typename LoadBalancerType , typename ETLServiceType , typename CountersType >
static RpcSpecConstRef rpc::BaseServerInfoHandler< LoadBalancerType, ETLServiceType, CountersType >::spec ( uint32_t apiVersion)
inlinestatic

Returns the API specification for the command.

Parameters
apiVersionThe api version to return the spec for
Returns
The spec for the given apiVersion

The documentation for this class was generated from the following file: