pub struct CisoReader<'reader, D: Parser + Seeker> { /* private fields */ }
Expand description
Reader for CISO files.
Implementations§
Source§impl<'reader, D: Parser + Seeker> CisoReader<'reader, D>
impl<'reader, D: Parser + Seeker> CisoReader<'reader, D>
Sourcepub fn new(reader: &'reader mut D) -> Result<Self>
pub fn new(reader: &'reader mut D) -> Result<Self>
Create a new CISO reader from a binary stream.
Sourcepub fn block_size(&self) -> usize
pub fn block_size(&self) -> usize
Get the block size of the CISO file.
Sourcepub fn total_size(&self) -> usize
pub fn total_size(&self) -> usize
Get the total size of the decompressed file.
Sourcepub fn read_block(&mut self, index: usize) -> Result<Vec<u8>>
pub fn read_block(&mut self, index: usize) -> Result<Vec<u8>>
Read data of block at index index
. If the block is omitted, a zeroed
buffer will be returned.
Sourcepub fn blocks<'this>(&'this mut self) -> BlockIterator<'this, 'reader, D> ⓘ
pub fn blocks<'this>(&'this mut self) -> BlockIterator<'this, 'reader, D> ⓘ
Return an iterator over all blocks that returns their data.
Sourcepub fn decompress<Writer: Write>(
&'reader mut self,
writer: &mut Writer,
) -> Result<()>
pub fn decompress<Writer: Write>( &'reader mut self, writer: &mut Writer, ) -> Result<()>
Decompress all CISO block and write the data to a
std::io::Write
. If you need to know the final size of the
decompressed file, use CisoReader::total_size
.
Auto Trait Implementations§
impl<'reader, D> Freeze for CisoReader<'reader, D>
impl<'reader, D> RefUnwindSafe for CisoReader<'reader, D>where
D: RefUnwindSafe,
impl<'reader, D> Send for CisoReader<'reader, D>where
D: Send,
impl<'reader, D> Sync for CisoReader<'reader, D>where
D: Sync,
impl<'reader, D> Unpin for CisoReader<'reader, D>
impl<'reader, D> !UnwindSafe for CisoReader<'reader, D>
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