aboutsummaryrefslogtreecommitdiff
path: root/src/ext/framework/buckets.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext/framework/buckets.rs')
-rw-r--r--src/ext/framework/buckets.rs26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/ext/framework/buckets.rs b/src/ext/framework/buckets.rs
index 2e42250..c0d0017 100644
--- a/src/ext/framework/buckets.rs
+++ b/src/ext/framework/buckets.rs
@@ -10,7 +10,7 @@ pub struct Ratelimit {
#[doc(hidden)]
pub struct MemberRatelimit {
- pub count: i32,
+ pub tickets: i32,
pub last_time: i64,
pub set_time: i64,
}
@@ -18,7 +18,7 @@ pub struct MemberRatelimit {
impl Default for MemberRatelimit {
fn default() -> Self {
MemberRatelimit {
- count: 0,
+ tickets: 0,
last_time: 0,
set_time: 0,
}
@@ -28,31 +28,31 @@ impl Default for MemberRatelimit {
#[doc(hidden)]
pub struct Bucket {
pub ratelimit: Ratelimit,
- pub limits: HashMap<u64, MemberRatelimit>,
+ pub users: HashMap<u64, MemberRatelimit>,
}
impl Bucket {
pub fn take(&mut self, user_id: u64) -> i64 {
let time =- time::get_time().sec;
- let member = self.limits.entry(user_id)
+ let user = self.users.entry(user_id)
.or_insert_with(MemberRatelimit::default);
if let Some((timespan, limit)) = self.ratelimit.limit {
- if (member.count + 1) > limit {
- if time < (member.set_time + timespan) {
- return (member.set_time + timespan) - time;
+ if (user.tickets + 1) > limit {
+ if time < (user.set_time + timespan) {
+ return (user.set_time + timespan) - time;
} else {
- member.count = 0;
- member.set_time = time;
+ user.tickets = 0;
+ user.set_time = time;
}
}
}
- if time < member.last_time + self.ratelimit.delay {
- (member.last_time + self.ratelimit.delay) - time
+ if time < user.last_time + self.ratelimit.delay {
+ (user.last_time + self.ratelimit.delay) - time
} else {
- member.count += 1;
- member.last_time = time;
+ user.tickets += 1;
+ user.last_time = time;
0
}