de_mls/core/peer_scoring/storage.rs
1//! [`PeerScoreStorage`] — per-conversation per-member score persistence.
2//! Concrete backends (in-memory, on-disk, etc.) live in the app layer.
3
4/// Per-member score persistence for a single conversation. One storage
5/// instance per conversation; the app layer ships an in-memory default impl.
6pub trait PeerScoreStorage {
7 fn get(&self, member_id: &[u8]) -> Option<i64>;
8 fn set(&mut self, member_id: &[u8], score: i64);
9 fn remove(&mut self, member_id: &[u8]);
10 fn all_scores(&self) -> Vec<(Vec<u8>, i64)>;
11}