Coverage Report

Created: 2025-08-01 03:26

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/builds/MusicScience37Projects/utility-libraries/cpp-msgpack-rpc/src/msgpack_rpc/clients/impl/client_builder_impl.cpp
Line
Count
Source
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
 */
16
/*!
17
 * \file
18
 * \brief Implementation of functions for IClientBuilderImpl class.
19
 */
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
0
    std::shared_ptr<logging::Logger> logger, config::ClientConfig config) {
33
0
    return std::make_unique<ClientBuilderImpl>(std::move(executor),
34
0
        std::move(logger), std::move(config), transport::BackendList());
35
0
}
36
37
std::unique_ptr<IClientBuilderImpl> create_default_client_builder_impl(
38
    config::ClientConfig config,
39
42
    const std::shared_ptr<logging::Logger>& logger) {
40
42
    const auto executor = executors::create_executor(logger, config.executor());
41
42
42
    auto builder =
43
42
        std::make_unique<ClientBuilderImpl>(executor, logger, std::move(config),
44
42
            transport::create_default_backend_list(
45
42
                executor, config.message_parser(), logger));
46
47
42
    return builder;
48
42
}
49
50
}  // namespace msgpack_rpc::clients::impl