cpp-msgpack-rpc
0.2.0
An RPC library implementing MessagePack RPC.
Toggle main menu visibility
Loading...
Searching...
No Matches
client_builder_impl.cpp
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
#include "
msgpack_rpc/clients/impl/client_builder_impl.h
"
21
22
#include <memory>
23
24
#include "
msgpack_rpc/clients/impl/i_client_builder_impl.h
"
25
#include "
msgpack_rpc/transport/backend_list.h
"
26
#include "
msgpack_rpc/transport/create_default_backend_list.h
"
27
28
namespace
msgpack_rpc::clients::impl
{
29
30
std::unique_ptr<IClientBuilderImpl>
create_empty_client_builder_impl
(
31
std::shared_ptr<executors::IAsyncExecutor> executor,
32
std::shared_ptr<logging::Logger> logger,
config::ClientConfig
config
) {
33
return
std::make_unique<ClientBuilderImpl>(std::move(executor),
34
std::move(logger), std::move(
config
),
transport::BackendList
());
35
}
36
37
std::unique_ptr<IClientBuilderImpl>
create_default_client_builder_impl
(
38
config::ClientConfig
config
,
39
const
std::shared_ptr<logging::Logger>& logger) {
40
const
auto
executor =
executors::create_executor
(logger,
config
.executor());
41
42
auto
builder =
43
std::make_unique<ClientBuilderImpl>(executor, logger, std::move(
config
),
44
transport::create_default_backend_list
(
45
executor,
config
.message_parser(), logger));
46
47
return
builder;
48
}
49
50
}
// namespace msgpack_rpc::clients::impl
backend_list.h
Definition of BackendList class.
msgpack_rpc::config::ClientConfig
Class of configuration of clients.
Definition
client_config.h:38
msgpack_rpc::transport::BackendList
Class of lists of backends of protocols.
Definition
backend_list.h:39
client_builder_impl.h
Implementation of ClientBuilderImpl class.
create_default_backend_list.h
Definition of create_default_backend_list function.
i_client_builder_impl.h
Definition of IClientBuilderImpl class.
msgpack_rpc::clients::impl
Namespace of internal implementations.
Definition
i_call_future_impl.h:26
msgpack_rpc::clients::impl::create_empty_client_builder_impl
std::unique_ptr< IClientBuilderImpl > create_empty_client_builder_impl(std::shared_ptr< executors::IAsyncExecutor > executor, std::shared_ptr< logging::Logger > logger, config::ClientConfig config)
Create an empty IClientBuilderImpl object.
Definition
client_builder_impl.cpp:30
msgpack_rpc::clients::impl::create_default_client_builder_impl
std::unique_ptr< IClientBuilderImpl > create_default_client_builder_impl(config::ClientConfig config, const std::shared_ptr< logging::Logger > &logger)
Create an IClientBuilderImpl object with default protocols.
Definition
client_builder_impl.cpp:37
msgpack_rpc::config
Namespace of configurations.
Definition
client_config.h:32
msgpack_rpc::executors::create_executor
std::shared_ptr< IAsyncExecutor > create_executor(std::shared_ptr< logging::Logger > logger, const config::ExecutorConfig &config)
Create an executor.
Definition
general_executor.cpp:309
msgpack_rpc::transport::create_default_backend_list
BackendList create_default_backend_list(const std::shared_ptr< executors::IExecutor > &executor, const config::MessageParserConfig &message_parser_config, const std::shared_ptr< logging::Logger > &logger)
Create a list of backends with default backends of protocols.
Definition
create_default_backend_list.h:41
src
msgpack_rpc
clients
impl
client_builder_impl.cpp
Generated on
for cpp-msgpack-rpc by
1.18.0