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

Class of internal implementation of servers. More...

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

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

Public Member Functions

 ServerImpl (const ServerImpl &)=delete
 ServerImpl (ServerImpl &&)=delete
 ServerImpl (std::vector< std::shared_ptr< transport::IAcceptor > > acceptors, std::unique_ptr< methods::IMethodProcessor > processor, std::shared_ptr< executors::IAsyncExecutor > executor, std::shared_ptr< logging::Logger > logger)
 Constructor.
 ~ServerImpl () override
 Destructor.
std::shared_ptr< executors::IExecutorexecutor () override
 Get the executor.
std::vector< addresses::URIlocal_endpoint_uris () override
 Get the URIs of the local endpoints in this server.
ServerImploperator= (const ServerImpl &)=delete
ServerImploperator= (ServerImpl &&)=delete
void run_until_signal () override
 Run processing of this server until SIGINT or SIGTERM is received.
void start ()
 Start processing of this server.
void stop () override
 Stop processing of this server.
Public Member Functions inherited from msgpack_rpc::servers::impl::IServerImpl
 IServerImpl (const IServerImpl &)=delete
 IServerImpl (IServerImpl &&)=delete
virtual ~IServerImpl () noexcept=default
 Destructor.
IServerImploperator= (const IServerImpl &)=delete
IServerImploperator= (IServerImpl &&)=delete

Private Member Functions

void start_acceptors ()
 Start processing of acceptors.
void stop_acceptors ()
 Stop processing of acceptors.

Private Attributes

std::vector< std::shared_ptr< transport::IAcceptor > > acceptors_
 Acceptors.
std::shared_ptr< executors::IAsyncExecutorexecutor_
 Executor.
std::atomic< bool > is_started_ {false}
 Whether this server has been started.
std::atomic< bool > is_stopped_ {false}
 Whether this server has been stopped.
std::shared_ptr< logging::Loggerlogger_
 Logger.
std::shared_ptr< methods::IMethodProcessorprocessor_
 Processor of methods.
std::shared_ptr< StopSignalHandlerstop_signal_handler_
 Handler of signals to stop processing.

Additional Inherited Members

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

Detailed Description

Class of internal implementation of servers.

Definition at line 49 of file server_impl.h.

Constructor & Destructor Documentation

◆ ServerImpl()

msgpack_rpc::servers::impl::ServerImpl::ServerImpl ( std::vector< std::shared_ptr< transport::IAcceptor > > acceptors,
std::unique_ptr< methods::IMethodProcessor > processor,
std::shared_ptr< executors::IAsyncExecutor > executor,
std::shared_ptr< logging::Logger > logger )
inline

Constructor.

Parameters
[in]acceptorsAcceptors.
[in]processorProcessor of methods.
[in]executorExecutor.
[in]loggerLogger.

Definition at line 59 of file server_impl.h.

◆ ~ServerImpl()

msgpack_rpc::servers::impl::ServerImpl::~ServerImpl ( )
inlineoverride

Destructor.

Definition at line 70 of file server_impl.h.

Member Function Documentation

◆ executor()

std::shared_ptr< executors::IExecutor > msgpack_rpc::servers::impl::ServerImpl::executor ( )
inlinenodiscardoverridevirtual

Get the executor.

Returns
Executor.
Note
This function is mainly for testing. So this function may be removed in the future.

Implements msgpack_rpc::servers::impl::IServerImpl.

Definition at line 149 of file server_impl.h.

◆ local_endpoint_uris()

std::vector< addresses::URI > msgpack_rpc::servers::impl::ServerImpl::local_endpoint_uris ( )
inlinenodiscardoverridevirtual

Get the URIs of the local endpoints in this server.

Returns
URIs.

Implements msgpack_rpc::servers::impl::IServerImpl.

Definition at line 139 of file server_impl.h.

◆ run_until_signal()

void msgpack_rpc::servers::impl::ServerImpl::run_until_signal ( )
inlineoverridevirtual

Run processing of this server until SIGINT or SIGTERM is received.

Note
When this function returns, this server is stopped automatically.

Implements msgpack_rpc::servers::impl::IServerImpl.

Definition at line 126 of file server_impl.h.

◆ start()

void msgpack_rpc::servers::impl::ServerImpl::start ( )
inline

Start processing of this server.

Definition at line 90 of file server_impl.h.

◆ start_acceptors()

void msgpack_rpc::servers::impl::ServerImpl::start_acceptors ( )
inlineprivate

Start processing of acceptors.

Definition at line 157 of file server_impl.h.

◆ stop()

void msgpack_rpc::servers::impl::ServerImpl::stop ( )
inlineoverridevirtual

Stop processing of this server.

Implements msgpack_rpc::servers::impl::IServerImpl.

Definition at line 111 of file server_impl.h.

◆ stop_acceptors()

void msgpack_rpc::servers::impl::ServerImpl::stop_acceptors ( )
inlineprivate

Stop processing of acceptors.

Definition at line 175 of file server_impl.h.

Member Data Documentation

◆ acceptors_

std::vector<std::shared_ptr<transport::IAcceptor> > msgpack_rpc::servers::impl::ServerImpl::acceptors_
private

Acceptors.

Definition at line 182 of file server_impl.h.

◆ executor_

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

Executor.

Definition at line 188 of file server_impl.h.

◆ is_started_

std::atomic<bool> msgpack_rpc::servers::impl::ServerImpl::is_started_ {false}
private

Whether this server has been started.

Definition at line 197 of file server_impl.h.

◆ is_stopped_

std::atomic<bool> msgpack_rpc::servers::impl::ServerImpl::is_stopped_ {false}
private

Whether this server has been stopped.

Definition at line 200 of file server_impl.h.

◆ logger_

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

Logger.

Definition at line 191 of file server_impl.h.

◆ processor_

std::shared_ptr<methods::IMethodProcessor> msgpack_rpc::servers::impl::ServerImpl::processor_
private

Processor of methods.

Definition at line 185 of file server_impl.h.

◆ stop_signal_handler_

std::shared_ptr<StopSignalHandler> msgpack_rpc::servers::impl::ServerImpl::stop_signal_handler_
private

Handler of signals to stop processing.

Definition at line 194 of file server_impl.h.


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