pub enum InterstitialRoute {
WaitAndRetry {
interval: Duration,
max_retries: u32,
queue_position: Option<u32>,
},
ChallengeSolve {
vendor_hint: Option<String>,
allowed_strategies: Vec<StrategyUsed>,
solve_budget: Duration,
},
HardBlock {
escalate_to: StrategyUsed,
rotate_session: bool,
refresh_sticky: bool,
},
Transient {
follow_redirect: bool,
max_hops: u32,
},
}Expand description
Dedicated acquisition route per InterstitialKind.
Each variant carries the per-kind tunables. The route is
purely declarative — the actual acquisition ladder
adjustment is done by the calling layer (or by the
runner, when
InterstitialPolicy::short_circuit_on_classified is
true).
Variants§
WaitAndRetry
Wait interval for up to max_retries attempts.
Carries the optional queue_position (e.g. “you are
#5 in line”) so the caller can scale the wait by the
position.
Fields
ChallengeSolve
Escalate to a challenge-solving strategy with the
given solve_budget. The optional vendor_hint
narrows the strategy (e.g. cloudflare,
perimeterx).
Fields
vendor_hint: Option<String>Optional vendor hint extracted from the page
markers (e.g. cloudflare, akamai).
allowed_strategies: Vec<StrategyUsed>Strategies the caller may attempt.
HardBlock
Terminal vendor block. Escalate to
escalate_to, optionally rotate the proxy session,
and optionally invalidate the sticky pool context.
Fields
escalate_to: StrategyUsedStrategy to escalate to.
Transient
Follow up to max_hops redirect hops and then
re-classify the result.
Implementations§
Trait Implementations§
Source§impl Clone for InterstitialRoute
impl Clone for InterstitialRoute
Source§fn clone(&self) -> InterstitialRoute
fn clone(&self) -> InterstitialRoute
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for InterstitialRoute
impl Debug for InterstitialRoute
Source§impl<'de> Deserialize<'de> for InterstitialRoute
impl<'de> Deserialize<'de> for InterstitialRoute
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for InterstitialRoute
impl PartialEq for InterstitialRoute
Source§impl Serialize for InterstitialRoute
impl Serialize for InterstitialRoute
impl Eq for InterstitialRoute
impl StructuralPartialEq for InterstitialRoute
Auto Trait Implementations§
impl Freeze for InterstitialRoute
impl RefUnwindSafe for InterstitialRoute
impl Send for InterstitialRoute
impl Sync for InterstitialRoute
impl Unpin for InterstitialRoute
impl UnsafeUnpin for InterstitialRoute
impl UnwindSafe for InterstitialRoute
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.