Ignore stale Dosh snapshots
ci / test (push) Has been cancelled
ci / remote-bench (push) Has been cancelled

This commit is contained in:
DuProcess
2026-06-12 13:33:55 -04:00
parent 32da29e2fb
commit 03df1c6ed7
+12
View File
@@ -725,6 +725,9 @@ struct FrameBuffer {
impl FrameBuffer {
fn accept(&mut self, frame: Frame, last_rendered_seq: &mut u64) -> Vec<Frame> {
if frame.snapshot {
if frame.output_seq < *last_rendered_seq {
return Vec::new();
}
self.pending.clear();
*last_rendered_seq = frame.output_seq;
return vec![frame];
@@ -939,4 +942,13 @@ mod tests {
assert_eq!(last, 20);
assert!(buffer.accept(test_frame(12, false), &mut last).is_empty());
}
#[test]
fn frame_buffer_ignores_stale_snapshot() {
let mut buffer = FrameBuffer::default();
let mut last = 20;
assert!(buffer.accept(test_frame(19, true), &mut last).is_empty());
assert_eq!(last, 20);
}
}