mirror of
https://github.com/katanemo/plano.git
synced 2026-04-25 00:36:34 +02:00
add day time unit for ratelimits
PR #851 added ratelimit examples using unit: day but the Rust TimeUnit enum only had second/minute/hour. Adds Day variant and maps it to per-hour quota (tokens/24).
This commit is contained in:
parent
d96a2b32f7
commit
21d4806304
2 changed files with 6 additions and 0 deletions
|
|
@ -290,6 +290,8 @@ pub enum TimeUnit {
|
|||
Minute,
|
||||
#[serde(rename = "hour")]
|
||||
Hour,
|
||||
#[serde(rename = "day")]
|
||||
Day,
|
||||
}
|
||||
|
||||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
|
||||
|
|
|
|||
|
|
@ -150,6 +150,10 @@ fn get_quota(limit: Limit) -> Quota {
|
|||
TimeUnit::Second => Quota::per_second(tokens),
|
||||
TimeUnit::Minute => Quota::per_minute(tokens),
|
||||
TimeUnit::Hour => Quota::per_hour(tokens),
|
||||
TimeUnit::Day => {
|
||||
let per_hour = limit.tokens.saturating_div(24).max(1);
|
||||
Quota::per_hour(NonZero::new(per_hour).expect("per_hour must be positive"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue