pub struct BagSliceSource { /* private fields */ }Expand description
In-place SliceSource for rosbags. The bag’s own chunk index (ChunkInfo) gives
each chunk’s byte offset and time range, so time slicing seeks straight to the
overlapping chunks and decompresses only those — no full read, bounded memory. Event
counts aren’t in the index, so n_events/slice_index decode the target chunks
once and cache the per-chunk cumulative counts; time slicing never triggers that.
Trait Implementations§
Source§impl SliceSource for BagSliceSource
impl SliceSource for BagSliceSource
fn sensor_size(&self) -> (usize, usize)
fn timestamp_scale_ms(&self) -> f64
Source§fn time_span(&self) -> (i64, i64)
fn time_span(&self) -> (i64, i64)
(t_min, t_max) in microseconds across the whole file; (0, 0) when empty.Source§fn slice_time(&self, t0: i64, t1: i64) -> Result<EventStream, IoError>
fn slice_time(&self, t0: i64, t1: i64) -> Result<EventStream, IoError>
Events whose timestamp (µs) lies in the half-open window
[t0, t1).Source§fn slice_index(&self, i0: usize, i1: usize) -> Result<EventStream, IoError>
fn slice_index(&self, i0: usize, i1: usize) -> Result<EventStream, IoError>
Events whose index lies in
[i0, i1) (clamped to the file).Auto Trait Implementations§
impl !Freeze for BagSliceSource
impl RefUnwindSafe for BagSliceSource
impl Send for BagSliceSource
impl Sync for BagSliceSource
impl Unpin for BagSliceSource
impl UnsafeUnpin for BagSliceSource
impl UnwindSafe for BagSliceSource
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more