Common System 0.2.0
Common interfaces and patterns for system integration
Loading...
Searching...
No Matches
kcenon::common::resilience::circuit_breaker::guard Class Reference

RAII guard for automatic success/failure recording. More...

#include <circuit_breaker.h>

Collaboration diagram for kcenon::common::resilience::circuit_breaker::guard:
Collaboration graph

Public Member Functions

 guard (circuit_breaker &breaker)
 
 ~guard ()
 
 guard (const guard &)=delete
 
guardoperator= (const guard &)=delete
 
 guard (guard &&)=delete
 
guardoperator= (guard &&)=delete
 
auto record_success () -> void
 Explicitly mark operation as successful. Prevents automatic failure recording on destruction.
 

Private Attributes

circuit_breakerbreaker_
 
bool committed_
 

Detailed Description

RAII guard for automatic success/failure recording.

Automatically records failure if destroyed without explicit success call. Helps prevent forgetting to record operation results.

Definition at line 176 of file circuit_breaker.h.

Constructor & Destructor Documentation

◆ guard() [1/3]

kcenon::common::resilience::circuit_breaker::guard::guard ( circuit_breaker & breaker)
inlineexplicit

Definition at line 178 of file circuit_breaker.h.

◆ ~guard()

kcenon::common::resilience::circuit_breaker::guard::~guard ( )
inline

Definition at line 184 of file circuit_breaker.h.

185 {
186 if (!committed_) {
188 }
189 }
auto record_failure(const std::exception *e=nullptr) -> void
Record a failed operation. May trigger state transition to OPEN or back to OPEN from HALF_OPEN.

References breaker_, committed_, and kcenon::common::resilience::circuit_breaker::record_failure().

Here is the call graph for this function:

◆ guard() [2/3]

kcenon::common::resilience::circuit_breaker::guard::guard ( const guard & )
delete

◆ guard() [3/3]

kcenon::common::resilience::circuit_breaker::guard::guard ( guard && )
delete

Member Function Documentation

◆ operator=() [1/2]

guard & kcenon::common::resilience::circuit_breaker::guard::operator= ( const guard & )
delete

◆ operator=() [2/2]

guard & kcenon::common::resilience::circuit_breaker::guard::operator= ( guard && )
delete

◆ record_success()

auto kcenon::common::resilience::circuit_breaker::guard::record_success ( ) -> void
inline

Explicitly mark operation as successful. Prevents automatic failure recording on destruction.

Definition at line 201 of file circuit_breaker.h.

202 {
203 committed_ = true;
205 }
auto record_success() -> void
Record a successful operation. May trigger state transition from HALF_OPEN to CLOSED.

References breaker_, committed_, and kcenon::common::resilience::circuit_breaker::record_success().

Here is the call graph for this function:

Member Data Documentation

◆ breaker_

circuit_breaker& kcenon::common::resilience::circuit_breaker::guard::breaker_
private

Definition at line 208 of file circuit_breaker.h.

Referenced by record_success(), and ~guard().

◆ committed_

bool kcenon::common::resilience::circuit_breaker::guard::committed_
private

Definition at line 209 of file circuit_breaker.h.

Referenced by record_success(), and ~guard().


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