#[repr(u8)]pub enum RateLimitClass {
Trading = 0,
Historical = 1,
NonTrading = 2,
}Expand description
Rate-limit class for an IG endpoint.
IG applies separate budgets to trading and non-trading traffic, and
historical price fetches additionally draw down a weekly data-point
allowance. Each class maps to an independent token bucket inside
RateLimiter so one kind of traffic never starves another.
Variants§
Trading = 0
Order and position mutations (positions/otc, workingorders/otc).
Subject to IG’s strict per-app trading limit; the most tightly paced class.
Historical = 1
Historical price fetches (endpoints under prices/).
Subject to a weekly data-point allowance in addition to a per-second rate, so it gets its own conservative bucket.
NonTrading = 2
Everything else: market data, account queries, sentiment, watchlists, working-order and position reads, and so on.
Paced by the configured RateLimiterConfig budget.
Trait Implementations§
Source§impl Clone for RateLimitClass
impl Clone for RateLimitClass
Source§fn clone(&self) -> RateLimitClass
fn clone(&self) -> RateLimitClass
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for RateLimitClass
Source§impl Debug for RateLimitClass
impl Debug for RateLimitClass
impl Eq for RateLimitClass
Source§impl Hash for RateLimitClass
impl Hash for RateLimitClass
Source§impl PartialEq for RateLimitClass
impl PartialEq for RateLimitClass
impl StructuralPartialEq for RateLimitClass
Auto Trait Implementations§
impl Freeze for RateLimitClass
impl RefUnwindSafe for RateLimitClass
impl Send for RateLimitClass
impl Sync for RateLimitClass
impl Unpin for RateLimitClass
impl UnsafeUnpin for RateLimitClass
impl UnwindSafe for RateLimitClass
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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>
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>
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