cpp-msgpack-rpc 0.2.0
An RPC library implementing MessagePack RPC.
Loading...
Searching...
No Matches
i_executor.h
Go to the documentation of this file.
1/*
2 * Copyright 2023 MusicScience37 (Kenta Kabashima)
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
20#pragma once
21
24
25namespace msgpack_rpc::executors {
26
30class IExecutor {
31public:
41 virtual AsioContextType& context(OperationType type) noexcept = 0;
42
43 IExecutor(const IExecutor&) = delete;
44 IExecutor(IExecutor&&) = delete;
45 IExecutor& operator=(const IExecutor&) = delete;
46 IExecutor& operator=(IExecutor&&) = delete;
47
49 virtual ~IExecutor() noexcept = default;
50
51protected:
53 IExecutor() noexcept = default;
54};
55
56} // namespace msgpack_rpc::executors
Definition of AsioContextType class.
IExecutor() noexcept=default
Constructor.
virtual AsioContextType & context(OperationType type) noexcept=0
Get the context in asio library.
virtual ~IExecutor() noexcept=default
Destructor.
Namespace of executors to process asynchronous tasks.
OperationType
Enumeration of types of operations.
asio::io_context AsioContextType
Type of context in asio library.
Definition of OperationType enumeration.