Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
circuit_breaker.h File Reference

Circuit breaker pattern for fault tolerance and resilience. More...

#include "circuit_breaker_config.h"
#include "circuit_state.h"
#include "failure_window.h"
#include "../interfaces/stats.h"
#include <atomic>
#include <chrono>
#include <exception>
#include <memory>
#include <mutex>
Include dependency graph for circuit_breaker.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  kcenon::common::resilience::circuit_breaker
 Thread-safe circuit breaker for fault tolerance. More...
 
class  kcenon::common::resilience::circuit_breaker::guard
 RAII guard for automatic success/failure recording. More...
 

Namespaces

namespace  kcenon
 
namespace  kcenon::common
 Core interfaces.
 
namespace  kcenon::common::resilience
 

Detailed Description

Circuit breaker pattern for fault tolerance and resilience.

Implements the Circuit Breaker pattern to prevent cascading failures in distributed systems by temporarily blocking requests to failing services.

State Machine:

  • CLOSED: Normal operation, requests pass through
  • OPEN: Failure threshold exceeded, requests immediately fail
  • HALF_OPEN: Testing recovery, limited requests allowed

This implementation consolidates circuit_breaker from thread_system, monitoring_system, and network_system into a single, reusable component.

Definition in file circuit_breaker.h.