Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::resilience::circuit_breaker_config Struct Reference

Configuration parameters for circuit breaker. More...

#include <circuit_breaker_config.h>

Collaboration diagram for kcenon::common::resilience::circuit_breaker_config:
Collaboration graph

Public Attributes

std::size_t failure_threshold = 5
 Number of failures required to trip the circuit (CLOSED -> OPEN). Default: 5 failures.
 
std::size_t success_threshold = 2
 Number of successful requests required to close the circuit (HALF_OPEN -> CLOSED). Default: 2 successes.
 
std::chrono::milliseconds failure_window = std::chrono::seconds(60)
 Time window for tracking failures. Failures older than this window are not counted. Default: 60 seconds.
 
std::chrono::milliseconds timeout = std::chrono::seconds(30)
 Timeout before transitioning from OPEN to HALF_OPEN. Default: 30 seconds.
 
std::size_t half_open_max_requests = 3
 Maximum number of requests allowed in HALF_OPEN state for testing. Default: 3 requests.
 

Detailed Description

Configuration parameters for circuit breaker.

Thread Safety:

  • This struct is intended to be read-only after construction.
  • Safe to share across threads if not modified.
Examples
circuit_breaker_example.cpp.

Definition at line 27 of file circuit_breaker_config.h.

Member Data Documentation

◆ failure_threshold

std::size_t kcenon::common::resilience::circuit_breaker_config::failure_threshold = 5

Number of failures required to trip the circuit (CLOSED -> OPEN). Default: 5 failures.

Examples
circuit_breaker_example.cpp.

Definition at line 32 of file circuit_breaker_config.h.

Referenced by kcenon::common::resilience::circuit_breaker::get_stats(), main(), and kcenon::common::resilience::circuit_breaker::record_failure().

◆ failure_window

std::chrono::milliseconds kcenon::common::resilience::circuit_breaker_config::failure_window = std::chrono::seconds(60)

Time window for tracking failures. Failures older than this window are not counted. Default: 60 seconds.

Definition at line 45 of file circuit_breaker_config.h.

◆ half_open_max_requests

std::size_t kcenon::common::resilience::circuit_breaker_config::half_open_max_requests = 3

Maximum number of requests allowed in HALF_OPEN state for testing. Default: 3 requests.

Definition at line 57 of file circuit_breaker_config.h.

Referenced by kcenon::common::resilience::circuit_breaker::allow_request().

◆ success_threshold

std::size_t kcenon::common::resilience::circuit_breaker_config::success_threshold = 2

Number of successful requests required to close the circuit (HALF_OPEN -> CLOSED). Default: 2 successes.

Examples
circuit_breaker_example.cpp.

Definition at line 38 of file circuit_breaker_config.h.

Referenced by main(), and kcenon::common::resilience::circuit_breaker::record_success().

◆ timeout

std::chrono::milliseconds kcenon::common::resilience::circuit_breaker_config::timeout = std::chrono::seconds(30)

Timeout before transitioning from OPEN to HALF_OPEN. Default: 30 seconds.

Examples
circuit_breaker_example.cpp.

Definition at line 51 of file circuit_breaker_config.h.

Referenced by main(), and kcenon::common::resilience::circuit_breaker::should_attempt_reset().


The documentation for this struct was generated from the following file: