blob: 3da4a0d9207c81ce1a3736e480931e56b18888ed (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
use crate::State;
use serde::Deserialize;
use std::{net::SocketAddr, sync::Arc};
pub mod server;
#[derive(Deserialize)]
pub struct Config {
bind: SocketAddr,
}
async fn stats_loop(state: Arc<State>) {
let mut ticks = state.tick.subscribe();
while let Ok(end) = ticks.recv().await {
if let Some(winner) = end {
if let Some(winner) = winner {
if let Some(winner) = state.players.write().await.get(&winner).cloned() {
let mut h = state.win_history.write().await;
h.push_front(winner);
while h.len() > 64 {
h.pop_back();
}
}
}
}
}
}
|