1use std::collections::BTreeMap;
2
3pub struct TemporalIndex {
4 pub map: BTreeMap<u64, usize>,
5}
6
7impl TemporalIndex {
8 pub fn new() -> Self {
9 Self {
10 map: BTreeMap::new(),
11 }
12 }
13
14 pub fn insert(&mut self, timestamp: u64, segment_id: usize) {
15 self.map.insert(timestamp, segment_id);
16 }
17
18 pub fn range(&self, start: u64, end: u64) -> Vec<usize> {
19 self.map.range(start..=end).map(|(_, &id)| id).collect()
20 }
21}
22
23impl Default for TemporalIndex {
24 fn default() -> Self {
25 Self::new()
26 }
27}