pub struct RetryEngine { /* private fields */ }Expand description
Smart retry engine with stealth-first escalation and browser rotation.
All internal state is lock-free: atomics for counters, DashMap-backed
FailureTracker, and plain local sets for down-backend tracking (the
engine is !Sync by design – a single owner drives the retry loop).
Implementations§
Source§impl RetryEngine
impl RetryEngine
Sourcepub fn new(opts: RetryOptions) -> Self
pub fn new(opts: RetryOptions) -> Self
Create a new retry engine from the given options.
Sourcepub fn stealth_level(&self) -> u32
pub fn stealth_level(&self) -> u32
Current stealth level (0 = auto, 1-3 = explicit tiers).
Sourcepub async fn execute<T, F, Fut>(
&mut self,
make_future: F,
ctx: &mut RetryContext,
) -> Result<T, SpiderError>
pub async fn execute<T, F, Fut>( &mut self, make_future: F, ctx: &mut RetryContext, ) -> Result<T, SpiderError>
Execute an action with stealth-first retry across browsers and stealth levels.
Auto Trait Implementations§
impl !Freeze for RetryEngine
impl !RefUnwindSafe for RetryEngine
impl Send for RetryEngine
impl Sync for RetryEngine
impl Unpin for RetryEngine
impl UnsafeUnpin for RetryEngine
impl !UnwindSafe for RetryEngine
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more