diff --git a/rumqttd/src/segments/mod.rs b/rumqttd/src/segments/mod.rs index 78da7306f..0d74f8578 100644 --- a/rumqttd/src/segments/mod.rs +++ b/rumqttd/src/segments/mod.rs @@ -378,6 +378,7 @@ mod tests { // Read one by one let mut out = Vec::new(); + let mut last_read_cursor = (0, 0); for i in 0..10 { let offset = i as u64; let next = log.readv((0, offset), 1, &mut out).unwrap(); @@ -385,6 +386,9 @@ mod tests { verify(i, packet_size, data); if i == 9 { + if let Done { start: _, end } = next { + last_read_cursor = end; + }; assert_eq!( next, Done { @@ -404,6 +408,11 @@ mod tests { ); } + log.append(random_payload(10, packet_size)); + log.readv(last_read_cursor, 1, &mut out).unwrap(); + let data = out.pop().unwrap(); + verify(10, packet_size, data); + // Read in bulk 1. Trying to read less than appended let mut out = Vec::new(); let next = log.readv((0, 0), 5, &mut out).unwrap();