1use crate::event::Event;
2
3pub struct Segment {
4 pub events: Vec<Event>,
5 pub start_time: u64,
6 pub end_time: u64,
7 capacity: usize,
8}
9
10impl Segment {
11 pub fn new(capacity: usize, start_time: u64) -> Self {
12 Self {
13 events: Vec::with_capacity(capacity),
14 start_time,
15 end_time: start_time,
16 capacity,
17 }
18 }
19
20 pub fn is_full(&self) -> bool {
21 self.events.len() >= self.capacity
22 }
23
24 pub fn append(&mut self, event: Event) {
25 self.end_time = event.timestamp;
26 self.events.push(event);
27 }
28}