cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::transport::tcp::TCPBackend Class Referencefinal

Class of backend of TCP. More...

#include <msgpack_rpc/transport/tcp/tcp_backend.h>

Inheritance diagram for msgpack_rpc::transport::tcp::TCPBackend:
Collaboration diagram for msgpack_rpc::transport::tcp::TCPBackend:

Public Member Functions

 TCPBackend (const std::shared_ptr< executors::IExecutor > &executor, const config::MessageParserConfig &message_parser_config, std::shared_ptr< logging::Logger > logger)
 Constructor.
 TCPBackend (const TCPBackend &)=delete
 TCPBackend (TCPBackend &&)=delete
 ~TCPBackend () noexcept override
 Destructor.
std::shared_ptr< IAcceptorFactorycreate_acceptor_factory () override
 Create a factory to create acceptors.
std::shared_ptr< IConnectorcreate_connector () override
 Create a connector to connect to endpoints of acceptors.
TCPBackendoperator= (const TCPBackend &)=delete
TCPBackendoperator= (TCPBackend &&)=delete
std::string_view scheme () const noexcept override
 Get the scheme.
Public Member Functions inherited from msgpack_rpc::transport::IBackend
 IBackend (const IBackend &)=delete
 IBackend (IBackend &&)=delete
virtual ~IBackend () noexcept=default
 Destructor.
IBackendoperator= (const IBackend &)=delete
IBackendoperator= (IBackend &&)=delete

Private Member Functions

std::shared_ptr< executors::IExecutorexecutor () const
 Get the executor.

Private Attributes

std::weak_ptr< executors::IExecutorexecutor_
 Executor.
std::shared_ptr< logging::Loggerlogger_
 Logger.
config::MessageParserConfig message_parser_config_
 Configuration of parsers of messages.

Additional Inherited Members

Protected Member Functions inherited from msgpack_rpc::transport::IBackend
 IBackend () noexcept=default
 Constructor.

Detailed Description

Class of backend of TCP.

Definition at line 37 of file tcp_backend.h.

Constructor & Destructor Documentation

◆ TCPBackend()

msgpack_rpc::transport::tcp::TCPBackend::TCPBackend ( const std::shared_ptr< executors::IExecutor > & executor,
const config::MessageParserConfig & message_parser_config,
std::shared_ptr< logging::Logger > logger )

Constructor.

Parameters
[in]executorExecutor.
[in]message_parser_configConfiguration of parsers of messages.
[in]loggerLogger.

Definition at line 34 of file tcp_backend.cpp.

Member Function Documentation

◆ create_acceptor_factory()

std::shared_ptr< IAcceptorFactory > msgpack_rpc::transport::tcp::TCPBackend::create_acceptor_factory ( )
nodiscardoverridevirtual

Create a factory to create acceptors.

Returns
Factory of acceptors.

Implements msgpack_rpc::transport::IBackend.

Definition at line 45 of file tcp_backend.cpp.

◆ create_connector()

std::shared_ptr< IConnector > msgpack_rpc::transport::tcp::TCPBackend::create_connector ( )
nodiscardoverridevirtual

Create a connector to connect to endpoints of acceptors.

Returns
Connector.

Implements msgpack_rpc::transport::IBackend.

Definition at line 50 of file tcp_backend.cpp.

◆ executor()

std::shared_ptr< executors::IExecutor > msgpack_rpc::transport::tcp::TCPBackend::executor ( ) const
nodiscardprivate

Get the executor.

Returns
Executor.

Definition at line 57 of file tcp_backend.cpp.

◆ scheme()

std::string_view msgpack_rpc::transport::tcp::TCPBackend::scheme ( ) const
nodiscardoverridevirtualnoexcept

Get the scheme.

Returns
Scheme.

Implements msgpack_rpc::transport::IBackend.

Definition at line 41 of file tcp_backend.cpp.

Member Data Documentation

◆ executor_

std::weak_ptr<executors::IExecutor> msgpack_rpc::transport::tcp::TCPBackend::executor_
private

Executor.

Definition at line 77 of file tcp_backend.h.

◆ logger_

std::shared_ptr<logging::Logger> msgpack_rpc::transport::tcp::TCPBackend::logger_
private

Logger.

Definition at line 83 of file tcp_backend.h.

◆ message_parser_config_

config::MessageParserConfig msgpack_rpc::transport::tcp::TCPBackend::message_parser_config_
private

Configuration of parsers of messages.

Definition at line 80 of file tcp_backend.h.


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