CCF
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
ccf::RPCSessions Class Reference

#include <rpc_sessions.h>

Inherits std::enable_shared_from_this< RPCSessions >, ccf::AbstractRPCResponder, http::ErrorReporter, and http::ResponderLookup.

Public Member Functions

 RPCSessions (ringbuffer::AbstractWriterFactory &writer_factory, std::shared_ptr< RPCMap > rpc_map_)
 
void set_custom_protocol_subsystem (std::shared_ptr< CustomProtocolSubsystem > cpss)
 
void report_parsing_error (const ccf::ListenInterfaceID &id) override
 
void report_request_payload_too_large_error (const ccf::ListenInterfaceID &id) override
 
void report_request_header_too_large_error (const ccf::ListenInterfaceID &id) override
 
void update_listening_interface_options (const ccf::NodeInfoNetwork &node_info)
 
ccf::SessionMetrics get_session_metrics ()
 
ccf::ApplicationProtocol get_app_protocol_main_interface () const
 
void set_node_cert (const ccf::crypto::Pem &cert_, const ccf::crypto::Pem &pk)
 
void set_network_cert (const ccf::crypto::Pem &cert_, const ccf::crypto::Pem &pk)
 
void set_cert (ccf::Authority authority, const ccf::crypto::Pem &cert_, const ccf::crypto::Pem &pk, const std::string &acme_configuration="")
 
void accept (ccf::tls::ConnID id, const ListenInterfaceID &listen_interface_id, bool udp=false)
 
std::shared_ptr< Sessionfind_session (ccf::tls::ConnID id)
 
bool reply_async (ccf::tls::ConnID id, bool terminate_after_send, std::vector< uint8_t > &&data) override
 
void remove_session (ccf::tls::ConnID id)
 
std::shared_ptr< ClientSessioncreate_client (const std::shared_ptr<::tls::Cert > &cert, const std::string &app_protocol="HTTP1")
 
std::shared_ptr< ClientSessioncreate_unencrypted_client ()
 
void register_message_handlers (messaging::Dispatcher< ringbuffer::Message > &disp)
 
- Public Member Functions inherited from ccf::AbstractRPCResponder
virtual ~AbstractRPCResponder ()
 
- Public Member Functions inherited from http::ErrorReporter
virtual ~ErrorReporter ()
 
- Public Member Functions inherited from http::ResponderLookup
std::shared_ptr< ccf::http::HTTPResponderlookup_responder (::tcp::ConnID session_id, http2::StreamId stream_id)
 
void add_responder (::tcp::ConnID session_id, http2::StreamId stream_id, std::shared_ptr< ccf::http::HTTPResponder > responder)
 
void cleanup_responders (::tcp::ConnID session_id)
 

Additional Inherited Members

- Protected Types inherited from http::ResponderLookup
using ByStream = std::unordered_map< http2::StreamId, std::shared_ptr< ccf::http::HTTPResponder > >
 
- Protected Attributes inherited from http::ResponderLookup
std::unordered_map<::tcp::ConnID, ByStreamall_responders
 
ccf::pal::Mutex lock
 

Constructor & Destructor Documentation

◆ RPCSessions()

ccf::RPCSessions::RPCSessions ( ringbuffer::AbstractWriterFactory writer_factory,
std::shared_ptr< RPCMap rpc_map_ 
)
inline

Member Function Documentation

◆ accept()

void ccf::RPCSessions::accept ( ccf::tls::ConnID  id,
const ListenInterfaceID listen_interface_id,
bool  udp = false 
)
inline

◆ create_client()

std::shared_ptr< ClientSession > ccf::RPCSessions::create_client ( const std::shared_ptr<::tls::Cert > &  cert,
const std::string &  app_protocol = "HTTP1" 
)
inline

◆ create_unencrypted_client()

std::shared_ptr< ClientSession > ccf::RPCSessions::create_unencrypted_client ( )
inline

◆ find_session()

std::shared_ptr< Session > ccf::RPCSessions::find_session ( ccf::tls::ConnID  id)
inline

◆ get_app_protocol_main_interface()

ccf::ApplicationProtocol ccf::RPCSessions::get_app_protocol_main_interface ( ) const
inline

◆ get_session_metrics()

ccf::SessionMetrics ccf::RPCSessions::get_session_metrics ( )
inline

◆ register_message_handlers()

void ccf::RPCSessions::register_message_handlers ( messaging::Dispatcher< ringbuffer::Message > &  disp)
inline

◆ remove_session()

void ccf::RPCSessions::remove_session ( ccf::tls::ConnID  id)
inline

◆ reply_async()

bool ccf::RPCSessions::reply_async ( ccf::tls::ConnID  id,
bool  terminate_after_send,
std::vector< uint8_t > &&  data 
)
inlineoverridevirtual

◆ report_parsing_error()

void ccf::RPCSessions::report_parsing_error ( const ccf::ListenInterfaceID id)
inlineoverridevirtual

Implements http::ErrorReporter.

◆ report_request_header_too_large_error()

void ccf::RPCSessions::report_request_header_too_large_error ( const ccf::ListenInterfaceID id)
inlineoverridevirtual

Implements http::ErrorReporter.

◆ report_request_payload_too_large_error()

void ccf::RPCSessions::report_request_payload_too_large_error ( const ccf::ListenInterfaceID id)
inlineoverridevirtual

Implements http::ErrorReporter.

◆ set_cert()

void ccf::RPCSessions::set_cert ( ccf::Authority  authority,
const ccf::crypto::Pem cert_,
const ccf::crypto::Pem pk,
const std::string &  acme_configuration = "" 
)
inline

◆ set_custom_protocol_subsystem()

void ccf::RPCSessions::set_custom_protocol_subsystem ( std::shared_ptr< CustomProtocolSubsystem cpss)
inline

◆ set_network_cert()

void ccf::RPCSessions::set_network_cert ( const ccf::crypto::Pem cert_,
const ccf::crypto::Pem pk 
)
inline

◆ set_node_cert()

void ccf::RPCSessions::set_node_cert ( const ccf::crypto::Pem cert_,
const ccf::crypto::Pem pk 
)
inline

◆ update_listening_interface_options()

void ccf::RPCSessions::update_listening_interface_options ( const ccf::NodeInfoNetwork node_info)
inline

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