Skip to main content

BagSliceSource

Struct BagSliceSource 

Source
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

Source§

fn sensor_size(&self) -> (usize, usize)

Source§

fn timestamp_scale_ms(&self) -> f64

Source§

fn n_events(&self) -> usize

Total events in the file.
Source§

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>

Events whose timestamp (µs) lies in the half-open window [t0, t1).
Source§

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§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.