pub struct HeaderParser(/* private fields */);
Expand description
Streaming parser currently parsing the SWF header
This struct holds the internal state of the parser, including an internal buffer with the unparsed input provided so far.
This struct is logically an enum where each variant represents the state
of the parser. See InnerHeaderParser
for details on these states.
Implementations§
Source§impl HeaderParser
impl HeaderParser
Sourcepub fn header(
self,
bytes: &[u8],
) -> Result<(SwfHeader, TagParser), (Self, HeaderParserError)>
pub fn header( self, bytes: &[u8], ) -> Result<(SwfHeader, TagParser), (Self, HeaderParserError)>
Appends bytes
to the internal buffer and tries to parse the SWF header.
If there is not enough data to parse the SWF header, it returns an error containing a
HeaderParser
to continue parsing when more data is available.
If the data is unreadable (e.g. due to an invalid compression) it returns a failure (TODO).
If there is enough data to parse the header, it returns an Ok
result with the parsed header
and a TagParser
to start parsing the SWF tags.
Note: this method consumes self
to prevent from trying to parse the SWF
header multiple times.