binary_cookies/decode/
stream.rs1use crate::{
2 cookie::{Checksum, Cookie, Metadata},
3 decode::{
4 binary_cookies::BinaryCookieFsm,
5 cookies::{CookieFsm, CookiesOffsetInPage},
6 meta::{MetaFsm, MetaOffset},
7 pages::{PageFsm, PagesOffset},
8 },
9};
10
11#[derive(Clone)]
12#[derive(Debug)]
13#[derive(Default)]
14pub(crate) enum State {
16 Bc {
17 fsm: BinaryCookieFsm,
18 },
19 Page {
20 fsm: PageFsm,
21 remaining_page: u32,
22 },
23 Cookie {
24 fsm: CookieFsm,
25 remaining_cookie: u32,
26 remaining_page: u32,
27 },
28 Meta {
29 fsm: MetaFsm,
30 },
31 Finished,
32 #[default]
33 Transition,
34}
35
36#[derive(Clone)]
37#[derive(Debug)]
38pub enum Values {
40 Bc {
42 meta_offset: MetaOffset,
43 pages_offset: PagesOffset,
44 },
45 Page(CookiesOffsetInPage),
47 Cookie(Cookie),
49 Meta {
51 checksum: Checksum,
52 meta: Option<Metadata>,
53 },
54}