33 return "Custom Protocol";
37 const std::string& protocol_name,
CreateSessionFn create_session_f) = 0;
39 virtual void uninstall(
const std::string& protocol_name) = 0;
42 const std::string& protocol_name,
44 const std::unique_ptr<tls::Context>&& ctx) = 0;
49 std::shared_ptr<ccf::kv::ReadOnlyTx>
tx;
50 std::shared_ptr<ccf::endpoints::ReadOnlyEndpointContext>
ctx;
Definition node_subsystem_interface.h:8
Definition custom_protocol_subsystem_interface.h:24
std::function< std::shared_ptr< Session >(ccf::tls::ConnID, const std::unique_ptr< tls::Context > &&)> CreateSessionFn
Definition custom_protocol_subsystem_interface.h:27
static char const * get_subsystem_name()
Definition custom_protocol_subsystem_interface.h:31
virtual void install(const std::string &protocol_name, CreateSessionFn create_session_f)=0
virtual std::shared_ptr< Essentials > get_essentials()=0
virtual std::shared_ptr< Session > create_session(const std::string &protocol_name, ccf::tls::ConnID conn_id, const std::unique_ptr< tls::Context > &&ctx)=0
virtual ~CustomProtocolSubsystemInterface()=default
virtual void uninstall(const std::string &protocol_name)=0
int64_t ConnID
Definition custom_protocol_subsystem_interface.h:20
Definition app_interface.h:14
std::shared_ptr< AbstractWriter > WriterPtr
Definition ring_buffer_types.h:150
Definition key_exchange.h:18
Definition custom_protocol_subsystem_interface.h:47
std::shared_ptr< ccf::endpoints::ReadOnlyEndpointContext > ctx
Definition custom_protocol_subsystem_interface.h:50
ringbuffer::WriterPtr writer
Definition custom_protocol_subsystem_interface.h:48
std::shared_ptr< ccf::kv::ReadOnlyTx > tx
Definition custom_protocol_subsystem_interface.h:49