pub struct RateLimiter { /* private fields */ }
Expand description
Rate limiter for KiteConnect API endpoints
Implementations§
Source§impl RateLimiter
impl RateLimiter
Sourcepub async fn wait_for_request(&self, endpoint: &KiteEndpoint)
pub async fn wait_for_request(&self, endpoint: &KiteEndpoint)
Wait for rate limit compliance before making a request
This method will return immediately if no delay is needed, or will sleep for the required duration to comply with rate limits.
§Arguments
endpoint
- The endpoint being accessed
§Example
use kiteconnect_async_wasm::connect::{RateLimiter, KiteEndpoint};
let rate_limiter = RateLimiter::new(true);
// This will wait if needed to comply with rate limits
rate_limiter.wait_for_request(&KiteEndpoint::Quote).await;
// Now it's safe to make the API request
println!("Making quote request...");
Sourcepub async fn can_request_immediately(&self, endpoint: &KiteEndpoint) -> bool
pub async fn can_request_immediately(&self, endpoint: &KiteEndpoint) -> bool
Check if a request can be made without waiting
Returns true if the request can be made immediately, false if rate limiting would cause a delay.
Sourcepub async fn get_delay_for_request(&self, endpoint: &KiteEndpoint) -> Duration
pub async fn get_delay_for_request(&self, endpoint: &KiteEndpoint) -> Duration
Get the delay required before making a request
Returns Duration::ZERO if no delay is needed.
Sourcepub async fn get_stats(&self) -> RateLimiterStats
pub async fn get_stats(&self) -> RateLimiterStats
Get rate limiter statistics
Returns information about current rate limiter state for monitoring.
Sourcepub fn set_enabled(&mut self, enabled: bool)
pub fn set_enabled(&mut self, enabled: bool)
Enable or disable rate limiting
Sourcepub fn is_enabled(&self) -> bool
pub fn is_enabled(&self) -> bool
Check if rate limiting is enabled
Trait Implementations§
Source§impl Clone for RateLimiter
impl Clone for RateLimiter
Source§fn clone(&self) -> RateLimiter
fn clone(&self) -> RateLimiter
Returns a duplicate of the value. Read more
1.0.0 · Source§const fn clone_from(&mut self, source: &Self)
const fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for RateLimiter
impl Debug for RateLimiter
Auto Trait Implementations§
impl Freeze for RateLimiter
impl !RefUnwindSafe for RateLimiter
impl Send for RateLimiter
impl Sync for RateLimiter
impl Unpin for RateLimiter
impl !UnwindSafe for RateLimiter
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