25#include "msgpack_rpc/impl/msgpack_rpc_export.h"
33class ISingleThreadExecutor :
public IExecutor {
43 virtual void run() = 0;
47 ISingleThreadExecutor& operator=(
const ISingleThreadExecutor&) =
delete;
48 ISingleThreadExecutor& operator=(ISingleThreadExecutor&&) =
delete;
55 ISingleThreadExecutor() noexcept = default;
69[[nodiscard]] MSGPACK_RPC_EXPORT
std::shared_ptr<ISingleThreadExecutor>
virtual void run()=0
Run internal event loops to process asynchronous tasks.
ISingleThreadExecutor() noexcept=default
Constructor.
~ISingleThreadExecutor() noexcept override=default
Destructor.
Definition of IExecutor class.
Definition of Logger class.
Namespace of executors to process asynchronous tasks.
std::shared_ptr< ISingleThreadExecutor > create_single_thread_executor(std::shared_ptr< logging::Logger > logger)
Create an executor runs in a single thread.