Struct resol_vbus::RecordingReader
source · pub struct RecordingReader<R: Read> { /* private fields */ }
Expand description
Allows reading Data
variants from a Read
trait object.
Examples
use resol_vbus::{FileListReader, RecordingReader};
let files: Vec<_> = std::env::args().skip(1).collect();
let flr = FileListReader::new(files);
let mut rr = RecordingReader::new(flr);
while let Some(data_set) = rr.read_data_set().unwrap() {
// process the data set
println!("{}:", data_set.timestamp);
for data in data_set.iter() {
println!(" - {}", data.id_string());
}
}
Implementations§
source§impl<R: Read> RecordingReader<R>
impl<R: Read> RecordingReader<R>
sourcepub fn new(reader: R) -> RecordingReader<R>
pub fn new(reader: R) -> RecordingReader<R>
Constructs a RecordingReader
.
sourcepub fn set_min_max_timestamps(
&mut self,
min_timestamp: Option<DateTime<Utc>>,
max_timestamp: Option<DateTime<Utc>>
)
pub fn set_min_max_timestamps(
&mut self,
min_timestamp: Option<DateTime<Utc>>,
max_timestamp: Option<DateTime<Utc>>
)
Set optional minimum and maximum timestamps for prefiltering data.
sourcepub fn read_record(&mut self) -> Result<&[u8]>
pub fn read_record(&mut self) -> Result<&[u8]>
Read from the stream until a valid blob of data is found.
sourcepub fn read_data_set(&mut self) -> Result<Option<DataSet>>
pub fn read_data_set(&mut self) -> Result<Option<DataSet>>
Read from the stream until a valid DataSet
variant can be decoded.
sourcepub fn read_topology_data_set(&mut self) -> Result<DataSet>
pub fn read_topology_data_set(&mut self) -> Result<DataSet>
Quickly read to EOF of the source and return the DataSet for all uniquely found Data
variants.