aboutsummaryrefslogtreecommitdiffstats
path: root/log_db/src/common.rs
diff options
context:
space:
mode:
authorJan Tuomi <jan@jantuomi.fi>2024-11-08 19:31:45 +0200
committerJan Tuomi <jan@jantuomi.fi>2024-11-08 21:06:03 +0200
commite2d68847e00e58ddb646fa281ec4dfa7b67489cf (patch)
treed0ec2f46aed810d389919934d69c6c15e489f04d /log_db/src/common.rs
parent52d3d69035e80bb3889cf720324aa813df1f7f80 (diff)
Fix: set active files after rotation
Diffstat (limited to 'log_db/src/common.rs')
-rw-r--r--log_db/src/common.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/log_db/src/common.rs b/log_db/src/common.rs
index cbb36a8..347b851 100644
--- a/log_db/src/common.rs
+++ b/log_db/src/common.rs
@@ -72,6 +72,27 @@ impl LogKeySet {
LogKeySet { set }
}
+ pub fn from_slice(keys: &[LogKey]) -> Self {
+ assert!(
+ !keys.is_empty(),
+ "LogKeySet::from_slice must be supplied a non-empty slice"
+ );
+ let mut set = HashSet::with_capacity(keys.len());
+ keys.iter().for_each(|key| {
+ set.insert(key.clone());
+ });
+ LogKeySet { set }
+ }
+
+ pub fn iter(&self) -> std::collections::hash_set::Iter<'_, LogKey> {
+ self.set.iter()
+ }
+
+ /// The number of LogKeys in the set.
+ pub fn len(&self) -> usize {
+ self.set.len()
+ }
+
/// Insert a LogKey into the set.
pub fn insert(&mut self, key: LogKey) {
self.set.insert(key);