pub struct RateLimitWindow { /* private fields */ }Expand description
Rate limit window manager Handles periodic reset of rate limit counters for time window management
Implementations§
Source§impl RateLimitWindow
impl RateLimitWindow
pub fn new(sync_manager: Arc<MeshSyncManager>, window_seconds: u64) -> Self
Sourcepub async fn start_reset_task(self, shutdown_rx: Receiver<bool>)
pub async fn start_reset_task(self, shutdown_rx: Receiver<bool>)
Start the window reset task This task periodically resets the global rate limit counter
§Arguments
shutdown_rx- A watch receiver that signals when to stop the task
Auto Trait Implementations§
impl Freeze for RateLimitWindow
impl !RefUnwindSafe for RateLimitWindow
impl Send for RateLimitWindow
impl Sync for RateLimitWindow
impl Unpin for RateLimitWindow
impl UnsafeUnpin for RateLimitWindow
impl !UnwindSafe for RateLimitWindow
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request