Refactor delivery of accounting summary

This commit is contained in:
Dominik Werder
2024-01-31 14:23:08 +01:00
parent bc3a123f13
commit 667d12f9c4
14 changed files with 221 additions and 128 deletions

View File

@@ -8,6 +8,7 @@ use std::collections::VecDeque;
#[derive(Debug, Serialize, Deserialize)]
pub struct AccountingEvents {
pub tss: VecDeque<u64>,
pub count: VecDeque<u64>,
pub bytes: VecDeque<u64>,
}
@@ -15,6 +16,7 @@ impl Empty for AccountingEvents {
fn empty() -> Self {
Self {
tss: VecDeque::new(),
count: VecDeque::new(),
bytes: VecDeque::new(),
}
}
@@ -31,6 +33,8 @@ impl Extendable for AccountingEvents {
use core::mem::replace;
let v = replace(&mut src.tss, VecDeque::new());
self.tss.extend(v.into_iter());
let v = replace(&mut src.count, VecDeque::new());
self.count.extend(v.into_iter());
let v = replace(&mut src.bytes, VecDeque::new());
self.bytes.extend(v.into_iter());
}