cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
msgpack_rpc::executors::SingleThreadExecutor Class Referencefinal

Class of executors runs in a single thread. More...

Inheritance diagram for msgpack_rpc::executors::SingleThreadExecutor:
Collaboration diagram for msgpack_rpc::executors::SingleThreadExecutor:

Public Member Functions

 SingleThreadExecutor (std::shared_ptr< logging::Logger > logger)
 Constructor.
AsioContextTypecontext (OperationType type) noexcept override
 Get the context in asio library.
void run () override
 Run internal event loops to process asynchronous tasks.
Public Member Functions inherited from msgpack_rpc::executors::ISingleThreadExecutor
 ISingleThreadExecutor (const ISingleThreadExecutor &)=delete
 ISingleThreadExecutor (ISingleThreadExecutor &&)=delete
 ~ISingleThreadExecutor () noexcept override=default
 Destructor.
ISingleThreadExecutoroperator= (const ISingleThreadExecutor &)=delete
ISingleThreadExecutoroperator= (ISingleThreadExecutor &&)=delete
Public Member Functions inherited from msgpack_rpc::executors::IExecutor
 IExecutor (const IExecutor &)=delete
 IExecutor (IExecutor &&)=delete
virtual ~IExecutor () noexcept=default
 Destructor.
IExecutoroperator= (const IExecutor &)=delete
IExecutoroperator= (IExecutor &&)=delete

Private Attributes

AsioContextType context_ {1}
 Context.
std::shared_ptr< logging::Loggerlogger_
 Logger.

Additional Inherited Members

Protected Member Functions inherited from msgpack_rpc::executors::ISingleThreadExecutor
 ISingleThreadExecutor () noexcept=default
 Constructor.
Protected Member Functions inherited from msgpack_rpc::executors::IExecutor
 IExecutor () noexcept=default
 Constructor.

Detailed Description

Class of executors runs in a single thread.

Definition at line 34 of file single_thread_executor.cpp.

Constructor & Destructor Documentation

◆ SingleThreadExecutor()

msgpack_rpc::executors::SingleThreadExecutor::SingleThreadExecutor ( std::shared_ptr< logging::Logger > logger)
inlineexplicit

Constructor.

Parameters
[in]loggerLogger.

Definition at line 41 of file single_thread_executor.cpp.

Member Function Documentation

◆ context()

AsioContextType & msgpack_rpc::executors::SingleThreadExecutor::context ( OperationType type)
inlineoverridevirtualnoexcept

Get the context in asio library.

Parameters
[in]typeOperation type.
Returns
Context.
Note
Implementation can return different objects for multiple function calls and different operation types.

Implements msgpack_rpc::executors::IExecutor.

Definition at line 58 of file single_thread_executor.cpp.

◆ run()

void msgpack_rpc::executors::SingleThreadExecutor::run ( )
inlineoverridevirtual

Run internal event loops to process asynchronous tasks.

Note
This function stops
  • when a task throws an exception, which will be thrown to caller of this function,
  • when interrupt function is called.

Implements msgpack_rpc::executors::ISingleThreadExecutor.

Definition at line 45 of file single_thread_executor.cpp.

Member Data Documentation

◆ context_

AsioContextType msgpack_rpc::executors::SingleThreadExecutor::context_ {1}
private

Context.

Definition at line 65 of file single_thread_executor.cpp.

◆ logger_

std::shared_ptr<logging::Logger> msgpack_rpc::executors::SingleThreadExecutor::logger_
private

Logger.

Definition at line 68 of file single_thread_executor.cpp.


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