Skip to content

Commit 9d93ce6

Browse files
committed
fix(engine): fix throttle logic
1 parent d8288df commit 9d93ce6

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

Cargo.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/engine.rs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -131,15 +131,19 @@ where
131131
if let Some(throttle) = self.throttle.as_ref() {
132132
let player_id = player.read().unwrap().id();
133133

134-
let throttled = self
134+
let recent_bloops = self
135135
.bloop_provider
136136
.for_client(&client_id)
137137
.iter()
138138
.filter(bloops_since(Utc::now() - throttle.threshold))
139139
.take(throttle.max_bloops)
140-
.all(|bloop| bloop.player_id == player_id);
140+
.collect::<Vec<_>>();
141141

142-
if throttled {
142+
if recent_bloops
143+
.iter()
144+
.all(|bloop| bloop.player_id == player_id)
145+
&& recent_bloops.len() == throttle.max_bloops
146+
{
143147
let _ = response.send(ServerMessage::Error(ErrorResponse::NfcUidThrottled));
144148
return;
145149
}

0 commit comments

Comments
 (0)