pub trait CircuitBreakerHooks: Send + Sync {
// Provided methods
fn allow_request(&self, _worker_id: &str, _request: &WorkerRequest) -> bool { ... }
fn on_request_accepted<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_request: &'life2 WorkerRequest,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn on_request_success<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_response: &'life2 WorkerResponse,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn on_request_failure<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_error: &'life2 WorkerProtocolError,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
fn on_request_rejected<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: Option<&'life1 str>,
_request: &'life2 WorkerRequest,
_reason: WorkerErrorCode,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait { ... }
}Expand description
Optional hook surface for circuit breaker integration.
Provided Methods§
Sourcefn allow_request(&self, _worker_id: &str, _request: &WorkerRequest) -> bool
fn allow_request(&self, _worker_id: &str, _request: &WorkerRequest) -> bool
Returns false to reject a request before queueing.
Sourcefn on_request_accepted<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_request: &'life2 WorkerRequest,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_request_accepted<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_request: &'life2 WorkerRequest,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called after a request is accepted for execution.
Sourcefn on_request_success<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_response: &'life2 WorkerResponse,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_request_success<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_response: &'life2 WorkerResponse,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called after a request succeeds.
Sourcefn on_request_failure<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_error: &'life2 WorkerProtocolError,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_request_failure<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: &'life1 str,
_error: &'life2 WorkerProtocolError,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called after a request fails.
Sourcefn on_request_rejected<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: Option<&'life1 str>,
_request: &'life2 WorkerRequest,
_reason: WorkerErrorCode,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn on_request_rejected<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
_worker_id: Option<&'life1 str>,
_request: &'life2 WorkerRequest,
_reason: WorkerErrorCode,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Called after a request is rejected.