cpp-msgpack-rpc
0.2.0
An RPC library implementing MessagePack RPC.
Toggle main menu visibility
Loading...
Searching...
No Matches
i_client_impl.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
22
#include <memory>
23
24
#include "
msgpack_rpc/clients/impl/i_call_future_impl.h
"
25
#include "
msgpack_rpc/clients/impl/parameters_serializer.h
"
26
#include "
msgpack_rpc/executors/i_executor.h
"
27
#include "
msgpack_rpc/messages/method_name_view.h
"
28
29
namespace
msgpack_rpc::clients::impl
{
30
34
class
IClientImpl {
35
public
:
39
virtual
void
stop
() = 0;
40
48
[[nodiscard]]
virtual
std::shared_ptr<ICallFutureImpl>
async_call
(
49
messages::MethodNameView
method_name,
50
const
IParametersSerializer
& parameters) = 0;
51
61
virtual
void
notify
(
messages::MethodNameView
method_name,
62
const
IParametersSerializer
& parameters) = 0;
63
72
[[nodiscard]]
virtual
std::shared_ptr<executors::IExecutor>
executor
() = 0;
73
74
IClientImpl
(
const
IClientImpl&) =
delete
;
75
IClientImpl
(IClientImpl&&) =
delete
;
76
IClientImpl& operator=(
const
IClientImpl&) =
delete
;
77
IClientImpl& operator=(IClientImpl&&) =
delete
;
78
80
virtual
~IClientImpl
() noexcept = default;
81
82
protected:
84
IClientImpl() noexcept = default;
85
};
86
87
}
// namespace msgpack_rpc::clients::impl
msgpack_rpc::clients::impl::IClientImpl::executor
virtual std::shared_ptr< executors::IExecutor > executor()=0
Get the executor.
msgpack_rpc::clients::impl::IClientImpl::stop
virtual void stop()=0
Stop processing of this client.
msgpack_rpc::clients::impl::IClientImpl::notify
virtual void notify(messages::MethodNameView method_name, const IParametersSerializer ¶meters)=0
Notify to a method.
msgpack_rpc::clients::impl::IClientImpl::IClientImpl
IClientImpl() noexcept=default
Constructor.
msgpack_rpc::clients::impl::IClientImpl::~IClientImpl
virtual ~IClientImpl() noexcept=default
Destructor.
msgpack_rpc::clients::impl::IClientImpl::async_call
virtual std::shared_ptr< ICallFutureImpl > async_call(messages::MethodNameView method_name, const IParametersSerializer ¶meters)=0
Asynchronously call a method.
msgpack_rpc::clients::impl::IParametersSerializer
Interface of serializer of parameters.
Definition
parameters_serializer.h:36
msgpack_rpc::messages::MethodNameView
Class of method names.
Definition
method_name_view.h:39
i_call_future_impl.h
Definition of ICallFutureImpl class.
i_executor.h
Definition of IExecutor class.
method_name_view.h
Definition of MethodNameView class.
msgpack_rpc::clients::impl
Namespace of internal implementations.
Definition
i_call_future_impl.h:26
parameters_serializer.h
Definition of ParametersSerializer class.
include
msgpack_rpc
clients
impl
i_client_impl.h
Generated on
for cpp-msgpack-rpc by
1.18.0