pub struct DomainRateLimiter { /* private fields */ }Expand description
Per-domain rate limiter to ensure respectful crawling
Implementations§
Source§impl DomainRateLimiter
impl DomainRateLimiter
Sourcepub fn new(requests_per_second: u32) -> Self
pub fn new(requests_per_second: u32) -> Self
Create a new rate limiter with a default requests-per-second limit
Sourcepub async fn wait_for_permission(&self, url: &str) -> Result<(), String>
pub async fn wait_for_permission(&self, url: &str) -> Result<(), String>
Wait until we’re allowed to make a request to this domain
Sourcepub fn set_domain_rate(&self, domain: &str, requests_per_second: u32)
pub fn set_domain_rate(&self, domain: &str, requests_per_second: u32)
Set custom rate for specific domain
Trait Implementations§
Auto Trait Implementations§
impl Freeze for DomainRateLimiter
impl RefUnwindSafe for DomainRateLimiter
impl Send for DomainRateLimiter
impl Sync for DomainRateLimiter
impl Unpin for DomainRateLimiter
impl UnsafeUnpin for DomainRateLimiter
impl UnwindSafe for DomainRateLimiter
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more