pub trait Storage {
type Error: From<RateLimitExceededError>;
// Required method
fn try_acquire(
&self,
alg: TokenBucketAlgorithm,
permits: u32,
) -> Result<(), Self::Error>;
}
Expand description
Trait that provides function for tokens acquiring.
Object that implements this trait should load state, execute provided algorithm and save updated state.
Required Associated Types§
Required Methods§
fn try_acquire( &self, alg: TokenBucketAlgorithm, permits: u32, ) -> Result<(), Self::Error>
Implementors§
Source§impl Storage for DistributedStorage
Available on crate feature distributed-impl
only.
impl Storage for DistributedStorage
Available on crate feature
distributed-impl
only.Source§impl Storage for InMemoryStorage
impl Storage for InMemoryStorage
Source§impl Storage for RedisStorage
Available on crate feature redis-impl
only.
impl Storage for RedisStorage
Available on crate feature
redis-impl
only.