CCF
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
ccf::RpcFrontend Class Reference

#include <frontend.h>

Inherits ccf::RpcHandler, and ccf::ForwardedRpcHandler.

Inherited by ccf::ACMERpcFrontend, ccf::MemberRpcFrontend, ccf::NodeRpcFrontend, and ccf::UserRpcFrontend.

Public Member Functions

 RpcFrontend (ccf::kv::Store &tables_, endpoints::EndpointRegistry &handlers_, ccf::AbstractNodeContext &node_context_)
 
void set_sig_intervals (size_t sig_tx_interval_, size_t sig_ms_interval_) override
 
void set_cmd_forwarder (std::shared_ptr< AbstractForwarder > cmd_forwarder_) override
 
void open () override
 
bool is_open () override
 
void set_root_on_proposals (const ccf::RpcContextImpl &ctx, ccf::kv::CommittableTx &tx)
 
void process (std::shared_ptr< ccf::RpcContextImpl > ctx) override
 
void process_forwarded (std::shared_ptr< ccf::RpcContextImpl > ctx) override
 
void tick (std::chrono::milliseconds elapsed) override
 
- Public Member Functions inherited from ccf::RpcHandler
virtual ~RpcHandler ()
 
- Public Member Functions inherited from ccf::ForwardedRpcHandler
virtual ~ForwardedRpcHandler ()
 

Protected Attributes

ccf::kv::Storetables
 
endpoints::EndpointRegistryendpoints
 
ccf::AbstractNodeContextnode_context
 

Constructor & Destructor Documentation

◆ RpcFrontend()

ccf::RpcFrontend::RpcFrontend ( ccf::kv::Store tables_,
endpoints::EndpointRegistry handlers_,
ccf::AbstractNodeContext node_context_ 
)
inline

Member Function Documentation

◆ is_open()

bool ccf::RpcFrontend::is_open ( )
inlineoverridevirtual

Implements ccf::RpcHandler.

◆ open()

void ccf::RpcFrontend::open ( )
inlineoverridevirtual

Implements ccf::RpcHandler.

◆ process()

void ccf::RpcFrontend::process ( std::shared_ptr< ccf::RpcContextImpl ctx)
inlineoverridevirtual

Process a serialised command with the associated RPC context

If an RPC that requires writing to the kv store is processed on a backup, the serialised RPC is forwarded to the current network primary.

Parameters
ctxContext for this RPC. Will be populated with response details before this call returns, or else response_is_pending will be set to true

Implements ccf::RpcHandler.

◆ process_forwarded()

void ccf::RpcFrontend::process_forwarded ( std::shared_ptr< ccf::RpcContextImpl ctx)
inlineoverridevirtual

Process a serialised input forwarded from another node

Parameters
ctxContext for this forwarded RPC

Implements ccf::ForwardedRpcHandler.

◆ set_cmd_forwarder()

void ccf::RpcFrontend::set_cmd_forwarder ( std::shared_ptr< AbstractForwarder cmd_forwarder_)
inlineoverridevirtual

Implements ccf::RpcHandler.

◆ set_root_on_proposals()

void ccf::RpcFrontend::set_root_on_proposals ( const ccf::RpcContextImpl ctx,
ccf::kv::CommittableTx tx 
)
inline

◆ set_sig_intervals()

void ccf::RpcFrontend::set_sig_intervals ( size_t  sig_tx_interval_,
size_t  sig_ms_interval_ 
)
inlineoverridevirtual

Implements ccf::RpcHandler.

◆ tick()

void ccf::RpcFrontend::tick ( std::chrono::milliseconds  elapsed)
inlineoverridevirtual

Reimplemented from ccf::RpcHandler.

Member Data Documentation

◆ endpoints

endpoints::EndpointRegistry& ccf::RpcFrontend::endpoints
protected

◆ node_context

ccf::AbstractNodeContext& ccf::RpcFrontend::node_context
protected

◆ tables

ccf::kv::Store& ccf::RpcFrontend::tables
protected

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