unilink  0.4.3
A simple C++ library for unified async communication
reconnect_decider.hpp File Reference
#include <algorithm>
#include <chrono>
#include <cstdint>
#include <optional>
#include "unilink/config/tcp_client_config.hpp"
#include "unilink/diagnostics/error_types.hpp"
#include "unilink/transport/tcp_client/reconnect_policy.hpp"

Go to the source code of this file.

Classes

struct  unilink::transport::detail::ReconnectLogicDecision
 Represents the decision on whether to retry a connection attempt. More...
 

Namespaces

 
 
 

Functions

std::chrono::milliseconds unilink::transport::detail::clamp_reconnect_delay (std::chrono::milliseconds delay)
 
ReconnectLogicDecision unilink::transport::detail::decide_reconnect (const config::TcpClientConfig &cfg, const diagnostics::ErrorInfo &error_info, uint32_t attempt_count, const std::optional< ReconnectPolicy > &policy)
 Determines whether a reconnection attempt should be made and the base delay to use. More...
 

Variables

constexpr auto unilink::transport::detail::MAX_RECONNECT_DELAY = std::chrono::milliseconds(30000)