Module rc_zip::fsm

source ·
Expand description

State machines built atop parsers, ready to bring your own I/O with.

Parsers are just part of the puzzle when it comes to zip files: finding the central directory is non-trivial and involves seeking around the input: ArchiveFsm provides a state machine to handle this.

Similarly, reading an entry involves reading the local header, then the data (while calculating the CRC32), then the data descriptor, and then checking whether the uncompressed size and CRC32 match the values in the central directory.

Structs§

  • ArchiveFsm parses a valid zip archive into an Archive. In particular, this struct finds an end of central directory record, parses the entire central directory, detects text encoding, and normalizes metadata.
  • A state machine that can parse a zip entry

Enums§

  • Indicates whether or not the state machine has completed its work