rippled
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ripple::GRPCServerImpl::CallData< Request, Response > Class Template Reference
Inheritance diagram for ripple::GRPCServerImpl::CallData< Request, Response >:
Inheritance graph
[legend]
Collaboration diagram for ripple::GRPCServerImpl::CallData< Request, Response >:
Collaboration graph
[legend]

Public Member Functions

virtual ~CallData ()=default
 
 CallData (org::xrpl::rpc::v1::XRPLedgerAPIService::AsyncService &service, grpc::ServerCompletionQueue &cq, Application &app, BindListener< Request, Response > bindListener, Handler< Request, Response > handler, Forward< Request, Response > forward, RPC::Condition requiredCondition, Resource::Charge loadType, std::vector< boost::asio::ip::address > const &secureGatewayIPs)
 
 CallData (const CallData &)=delete
 
CallDataoperator= (const CallData &)=delete
 
virtual void process () override
 
virtual bool isFinished () override
 
std::shared_ptr< Processorclone () override
 
shared_from_this (T... args)
 
weak_from_this (T... args)
 

Private Member Functions

void process (std::shared_ptr< JobQueue::Coro > coro)
 
Resource::Charge getLoadType ()
 
Role getRole (bool isUnlimited)
 
Resource::Consumer getUsage ()
 
std::optional< boost::asio::ip::address > getClientIpAddress ()
 
std::optional< boost::asio::ip::tcp::endpoint > getClientEndpoint ()
 
std::optional< boost::asio::ip::address > getProxiedClientIpAddress ()
 
std::optional< boost::asio::ip::tcp::endpoint > getProxiedClientEndpoint ()
 
std::optional< std::stringgetUser ()
 
void setIsUnlimited (Response &response, bool isUnlimited)
 
bool clientIsUnlimited ()
 
bool wasForwarded ()
 
void forwardToP2p (RPC::GRPCContext< Request > &context)
 

Private Attributes

org::xrpl::rpc::v1::XRPLedgerAPIService::AsyncService & service_
 
grpc::ServerCompletionQueue & cq_
 
grpc::ServerContext ctx_
 
std::atomic_bool finished_
 
Applicationapp_
 
Request request_
 
grpc::ServerAsyncResponseWriter< Response > responder_
 
BindListener< Request, Response > bindListener_
 
Handler< Request, Response > handler_
 
Forward< Request, Response > forward_
 
RPC::Condition requiredCondition_
 
Resource::Charge loadType_
 
std::vector< boost::asio::ip::address > const & secureGatewayIPs_
 

Detailed Description

template<class Request, class Response>
class ripple::GRPCServerImpl::CallData< Request, Response >

Definition at line 147 of file GRPCServer.h.

Constructor & Destructor Documentation

◆ ~CallData()

template<class Request , class Response >
virtual ripple::GRPCServerImpl::CallData< Request, Response >::~CallData ( )
virtualdefault

◆ CallData() [1/2]

template<class Request , class Response >
ripple::GRPCServerImpl::CallData< Request, Response >::CallData ( org::xrpl::rpc::v1::XRPLedgerAPIService::AsyncService &  service,
grpc::ServerCompletionQueue &  cq,
Application app,
BindListener< Request, Response >  bindListener,
Handler< Request, Response >  handler,
Forward< Request, Response >  forward,
RPC::Condition  requiredCondition,
Resource::Charge  loadType,
std::vector< boost::asio::ip::address > const &  secureGatewayIPs 
)
explicit

Definition at line 60 of file GRPCServer.cpp.

◆ CallData() [2/2]

template<class Request , class Response >
ripple::GRPCServerImpl::CallData< Request, Response >::CallData ( const CallData< Request, Response > &  )
delete

Member Function Documentation

◆ operator=()

template<class Request , class Response >
CallData& ripple::GRPCServerImpl::CallData< Request, Response >::operator= ( const CallData< Request, Response > &  )
delete

◆ process() [1/2]

template<class Request , class Response >
void ripple::GRPCServerImpl::CallData< Request, Response >::process ( )
overridevirtual

Implements ripple::Processor.

Definition at line 105 of file GRPCServer.cpp.

◆ isFinished()

template<class Request , class Response >
bool ripple::GRPCServerImpl::CallData< Request, Response >::isFinished ( )
overridevirtual

Implements ripple::Processor.

Definition at line 273 of file GRPCServer.cpp.

◆ clone()

template<class Request , class Response >
std::shared_ptr< Processor > ripple::GRPCServerImpl::CallData< Request, Response >::clone ( )
overridevirtual

Implements ripple::Processor.

Definition at line 89 of file GRPCServer.cpp.

◆ process() [2/2]

template<class Request , class Response >
void ripple::GRPCServerImpl::CallData< Request, Response >::process ( std::shared_ptr< JobQueue::Coro coro)
private

Definition at line 140 of file GRPCServer.cpp.

◆ getLoadType()

template<class Request , class Response >
Resource::Charge ripple::GRPCServerImpl::CallData< Request, Response >::getLoadType ( )
private

Definition at line 280 of file GRPCServer.cpp.

◆ getRole()

template<class Request , class Response >
Role ripple::GRPCServerImpl::CallData< Request, Response >::getRole ( bool  isUnlimited)
private

Definition at line 287 of file GRPCServer.cpp.

◆ getUsage()

template<class Request , class Response >
Resource::Consumer ripple::GRPCServerImpl::CallData< Request, Response >::getUsage ( )
private

Definition at line 413 of file GRPCServer.cpp.

◆ getClientIpAddress()

template<class Request , class Response >
std::optional< boost::asio::ip::address > ripple::GRPCServerImpl::CallData< Request, Response >::getClientIpAddress ( )
private

Definition at line 332 of file GRPCServer.cpp.

◆ getClientEndpoint()

template<class Request , class Response >
std::optional< boost::asio::ip::tcp::endpoint > ripple::GRPCServerImpl::CallData< Request, Response >::getClientEndpoint ( )
private

Definition at line 371 of file GRPCServer.cpp.

◆ getProxiedClientIpAddress()

template<class Request , class Response >
std::optional< boost::asio::ip::address > ripple::GRPCServerImpl::CallData< Request, Response >::getProxiedClientIpAddress ( )
private

Definition at line 342 of file GRPCServer.cpp.

◆ getProxiedClientEndpoint()

template<class Request , class Response >
std::optional< boost::asio::ip::tcp::endpoint > ripple::GRPCServerImpl::CallData< Request, Response >::getProxiedClientEndpoint ( )
private

Definition at line 352 of file GRPCServer.cpp.

◆ getUser()

template<class Request , class Response >
std::optional< std::string > ripple::GRPCServerImpl::CallData< Request, Response >::getUser ( )
private

Definition at line 316 of file GRPCServer.cpp.

◆ setIsUnlimited()

template<class Request , class Response >
void ripple::GRPCServerImpl::CallData< Request, Response >::setIsUnlimited ( Response &  response,
bool  isUnlimited 
)
private

Definition at line 397 of file GRPCServer.cpp.

◆ clientIsUnlimited()

template<class Request , class Response >
bool ripple::GRPCServerImpl::CallData< Request, Response >::clientIsUnlimited ( )
private

Definition at line 378 of file GRPCServer.cpp.

◆ wasForwarded()

template<class Request , class Response >
bool ripple::GRPCServerImpl::CallData< Request, Response >::wasForwarded ( )
private

Definition at line 299 of file GRPCServer.cpp.

◆ forwardToP2p()

template<class Request , class Response >
void ripple::GRPCServerImpl::CallData< Request, Response >::forwardToP2p ( RPC::GRPCContext< Request > &  context)
private

Definition at line 233 of file GRPCServer.cpp.

Member Data Documentation

◆ service_

template<class Request , class Response >
org::xrpl::rpc::v1::XRPLedgerAPIService::AsyncService& ripple::GRPCServerImpl::CallData< Request, Response >::service_
private

Definition at line 154 of file GRPCServer.h.

◆ cq_

template<class Request , class Response >
grpc::ServerCompletionQueue& ripple::GRPCServerImpl::CallData< Request, Response >::cq_
private

Definition at line 157 of file GRPCServer.h.

◆ ctx_

template<class Request , class Response >
grpc::ServerContext ripple::GRPCServerImpl::CallData< Request, Response >::ctx_
private

Definition at line 162 of file GRPCServer.h.

◆ finished_

template<class Request , class Response >
std::atomic_bool ripple::GRPCServerImpl::CallData< Request, Response >::finished_
private

Definition at line 169 of file GRPCServer.h.

◆ app_

template<class Request , class Response >
Application& ripple::GRPCServerImpl::CallData< Request, Response >::app_
private

Definition at line 171 of file GRPCServer.h.

◆ request_

template<class Request , class Response >
Request ripple::GRPCServerImpl::CallData< Request, Response >::request_
private

Definition at line 174 of file GRPCServer.h.

◆ responder_

template<class Request , class Response >
grpc::ServerAsyncResponseWriter<Response> ripple::GRPCServerImpl::CallData< Request, Response >::responder_
private

Definition at line 177 of file GRPCServer.h.

◆ bindListener_

template<class Request , class Response >
BindListener<Request, Response> ripple::GRPCServerImpl::CallData< Request, Response >::bindListener_
private

Definition at line 180 of file GRPCServer.h.

◆ handler_

template<class Request , class Response >
Handler<Request, Response> ripple::GRPCServerImpl::CallData< Request, Response >::handler_
private

Definition at line 183 of file GRPCServer.h.

◆ forward_

template<class Request , class Response >
Forward<Request, Response> ripple::GRPCServerImpl::CallData< Request, Response >::forward_
private

Definition at line 186 of file GRPCServer.h.

◆ requiredCondition_

template<class Request , class Response >
RPC::Condition ripple::GRPCServerImpl::CallData< Request, Response >::requiredCondition_
private

Definition at line 189 of file GRPCServer.h.

◆ loadType_

template<class Request , class Response >
Resource::Charge ripple::GRPCServerImpl::CallData< Request, Response >::loadType_
private

Definition at line 192 of file GRPCServer.h.

◆ secureGatewayIPs_

template<class Request , class Response >
std::vector<boost::asio::ip::address> const& ripple::GRPCServerImpl::CallData< Request, Response >::secureGatewayIPs_
private

Definition at line 194 of file GRPCServer.h.