Expand description
Circuit Breaker - Prevents cascade failures per domain
Implements the circuit breaker pattern to protect against failing domains:
- Closed: Normal operation, requests pass through
- Open: Domain is failing, requests are rejected immediately
- Half-Open: Testing if domain recovered
§Usage
ⓘ
let breaker = CircuitBreaker::new(CircuitBreakerConfig::default());
// Before making a request
if !breaker.allow_request("example.com") {
return Err(Error::CircuitOpen);
}
// After request
match result {
Ok(_) => breaker.record_success("example.com"),
Err(e) => breaker.record_failure("example.com"),
}Structs§
- Circuit
Breaker - Circuit breaker for multiple domains
- Circuit
Breaker Config - Circuit breaker configuration
- Circuit
Breaker Stats - Circuit breaker statistics
Enums§
- Circuit
State - Circuit state