cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::servers::impl::ServerBuilderImpl Class Referencefinal

Class of implementation of builders of servers. More...

#include <msgpack_rpc/servers/impl/server_builder_impl.h>

Inheritance diagram for msgpack_rpc::servers::impl::ServerBuilderImpl:
Collaboration diagram for msgpack_rpc::servers::impl::ServerBuilderImpl:

Public Member Functions

 ServerBuilderImpl (std::shared_ptr< executors::IAsyncExecutor > executor, std::shared_ptr< logging::Logger > logger, transport::BackendList backends, std::vector< addresses::URI > uris)
 Constructor.
void add_method (std::unique_ptr< methods::IMethod > method) override
 Add a method.
std::unique_ptr< IServerImplbuild () override
 Build a server.
void listen_to (addresses::URI uri) override
 Add a URI to listen to.
std::shared_ptr< logging::Loggerlogger () override
 Get the logger in this builder.
void register_protocol (std::shared_ptr< transport::IBackend > backend) override
 Register a protocol.
Public Member Functions inherited from msgpack_rpc::servers::impl::IServerBuilderImpl
 IServerBuilderImpl (const IServerBuilderImpl &)=delete
 IServerBuilderImpl (IServerBuilderImpl &&)=delete
virtual ~IServerBuilderImpl () noexcept=default
 Destructor.
IServerBuilderImploperator= (const IServerBuilderImpl &)=delete
IServerBuilderImploperator= (IServerBuilderImpl &&)=delete

Private Attributes

transport::BackendList backends_ {}
 Backends.
std::shared_ptr< executors::IAsyncExecutorexecutor_
 Executor.
std::shared_ptr< logging::Loggerlogger_
 Logger.
std::unique_ptr< methods::IMethodProcessorprocessor_
 Processor of methods.
std::vector< addresses::URIuris_ {}
 URIs to listen to.

Additional Inherited Members

Protected Member Functions inherited from msgpack_rpc::servers::impl::IServerBuilderImpl
 IServerBuilderImpl () noexcept=default
 Constructor.

Detailed Description

Class of implementation of builders of servers.

Definition at line 47 of file server_builder_impl.h.

Constructor & Destructor Documentation

◆ ServerBuilderImpl()

msgpack_rpc::servers::impl::ServerBuilderImpl::ServerBuilderImpl ( std::shared_ptr< executors::IAsyncExecutor > executor,
std::shared_ptr< logging::Logger > logger,
transport::BackendList backends,
std::vector< addresses::URI > uris )
inline

Constructor.

Parameters
[in]executorExecutor.
[in]loggerLogger.
[in]backendsBackends.
[in]urisURIs to listen to.

Definition at line 57 of file server_builder_impl.h.

Member Function Documentation

◆ add_method()

void msgpack_rpc::servers::impl::ServerBuilderImpl::add_method ( std::unique_ptr< methods::IMethod > method)
inlineoverridevirtual

Add a method.

Parameters
[in]methodMethod.

Implements msgpack_rpc::servers::impl::IServerBuilderImpl.

Definition at line 78 of file server_builder_impl.h.

◆ build()

std::unique_ptr< IServerImpl > msgpack_rpc::servers::impl::ServerBuilderImpl::build ( )
inlinenodiscardoverridevirtual

Build a server.

Returns
Server.

Implements msgpack_rpc::servers::impl::IServerBuilderImpl.

Definition at line 83 of file server_builder_impl.h.

◆ listen_to()

void msgpack_rpc::servers::impl::ServerBuilderImpl::listen_to ( addresses::URI uri)
inlineoverridevirtual

Add a URI to listen to.

Parameters
[in]uriURI.

Implements msgpack_rpc::servers::impl::IServerBuilderImpl.

Definition at line 73 of file server_builder_impl.h.

◆ logger()

std::shared_ptr< logging::Logger > msgpack_rpc::servers::impl::ServerBuilderImpl::logger ( )
inlinenodiscardoverridevirtual

Get the logger in this builder.

Returns
Logger.

Implements msgpack_rpc::servers::impl::IServerBuilderImpl.

Definition at line 113 of file server_builder_impl.h.

◆ register_protocol()

void msgpack_rpc::servers::impl::ServerBuilderImpl::register_protocol ( std::shared_ptr< transport::IBackend > backend)
inlineoverridevirtual

Register a protocol.

Parameters
[in]backendBackend of the protocol.

Implements msgpack_rpc::servers::impl::IServerBuilderImpl.

Definition at line 67 of file server_builder_impl.h.

Member Data Documentation

◆ backends_

transport::BackendList msgpack_rpc::servers::impl::ServerBuilderImpl::backends_ {}
private

Backends.

Definition at line 125 of file server_builder_impl.h.

◆ executor_

std::shared_ptr<executors::IAsyncExecutor> msgpack_rpc::servers::impl::ServerBuilderImpl::executor_
private

Executor.

Definition at line 119 of file server_builder_impl.h.

◆ logger_

std::shared_ptr<logging::Logger> msgpack_rpc::servers::impl::ServerBuilderImpl::logger_
private

Logger.

Definition at line 122 of file server_builder_impl.h.

◆ processor_

std::unique_ptr<methods::IMethodProcessor> msgpack_rpc::servers::impl::ServerBuilderImpl::processor_
private

Processor of methods.

Definition at line 131 of file server_builder_impl.h.

◆ uris_

std::vector<addresses::URI> msgpack_rpc::servers::impl::ServerBuilderImpl::uris_ {}
private

URIs to listen to.

Definition at line 128 of file server_builder_impl.h.


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