Branch data Line data Source code
1 : : /*
2 : : * Copyright 2025 Jinwoo Sung
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 : : #pragma once
18 : :
19 : : #include "wirestead/config/tcp_client_config.hpp"
20 : : #include "wirestead/transport/base/reconnect_decider.hpp"
21 : :
22 : : namespace wirestead {
23 : : namespace transport {
24 : : namespace detail {
25 : :
26 : : /**
27 : : * @brief Determines whether a reconnection attempt should be made and the base delay to use.
28 : : */
29 : 110 : inline ReconnectLogicDecision decide_reconnect(const config::TcpClientConfig& cfg,
30 : : const diagnostics::ErrorInfo& error_info, uint32_t attempt_count,
31 : : const std::optional<ReconnectPolicy>& policy) {
32 : 110 : return decide_reconnect_common(cfg, error_info, attempt_count, policy);
33 : : }
34 : :
35 : : } // namespace detail
36 : : } // namespace transport
37 : : } // namespace wirestead
|