pub trait CpioReader<T>: Iterator<Item = CpioResult<Box<dyn CpioHeader>>> + Read{
// Required methods
fn new(reader: T) -> Self
where Self: Sized;
fn read_next(&mut self) -> CpioResult<Option<Box<dyn CpioHeader>>>;
fn finish(&mut self) -> CpioResult<()>;
}
Expand description
Common interface for cpio archive reading.
In addition to the members of this trait, instances implement Iterator over the members of the archive and Read to obtain a reader for the current archive member.
Instances behave like a cursor over members of the archive. The cursor is advanced by calling Self::read_next. When the cursor is advanced, the Read trait will read data for this and only this archive member. The reader will hit EOF at the end of the current archive member.
Required Methods§
Sourcefn read_next(&mut self) -> CpioResult<Option<Box<dyn CpioHeader>>>
fn read_next(&mut self) -> CpioResult<Option<Box<dyn CpioHeader>>>
Read the next header from the archive.
Some
on another file entry. None
if at end of file.
The special TRAILER!!!
entry is not emitted.
Sourcefn finish(&mut self) -> CpioResult<()>
fn finish(&mut self) -> CpioResult<()>
Finish reading the current member.
This will advance the reader to the next archive member if the current member hasn’t been fully consumed.