[INFO] fetching crate misb 0.0.1-alpha... [INFO] checking misb-0.0.1-alpha against master#f609b7e0586f81fefb3523e3e17adf779ac416be for pr-129466-2 [INFO] extracting crate misb 0.0.1-alpha into /workspace/builds/worker-3-tc1/source [INFO] validating manifest of crates.io crate misb 0.0.1-alpha on toolchain f609b7e0586f81fefb3523e3e17adf779ac416be [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-3-tc1/source/rust-toolchain.toml [INFO] started tweaking crates.io crate misb 0.0.1-alpha [INFO] finished tweaking crates.io crate misb 0.0.1-alpha [INFO] tweaked toml for crates.io crate misb 0.0.1-alpha written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] crate crates.io crate misb 0.0.1-alpha already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded tinyklv v0.0.1-alpha.1 [INFO] [stderr] Downloaded thisenum-impl v0.2.1 [INFO] [stderr] Downloaded thisenum v0.2.1 [INFO] [stderr] Downloaded thisenum v0.1.2 [INFO] [stderr] Downloaded tinyklv-common v0.0.1-alpha.1 [INFO] [stderr] Downloaded tinyklv-impl v0.0.1-alpha.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] ad7759304c7d5e00f7ac52452153e40c73aac99bc97833aac26eef3ac904a3d0 [INFO] running `Command { std: "docker" "start" "-a" "ad7759304c7d5e00f7ac52452153e40c73aac99bc97833aac26eef3ac904a3d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ad7759304c7d5e00f7ac52452153e40c73aac99bc97833aac26eef3ac904a3d0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ad7759304c7d5e00f7ac52452153e40c73aac99bc97833aac26eef3ac904a3d0", kill_on_drop: false }` [INFO] [stdout] ad7759304c7d5e00f7ac52452153e40c73aac99bc97833aac26eef3ac904a3d0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+f609b7e0586f81fefb3523e3e17adf779ac416be" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 10a896a7640bd069deb3603d82a11004a7ad5a0d2aff37f5e6f3bd27188bc0cd [INFO] running `Command { std: "docker" "start" "-a" "10a896a7640bd069deb3603d82a11004a7ad5a0d2aff37f5e6f3bd27188bc0cd", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling allocator-api2 v0.2.18 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking winnow v0.6.18 [INFO] [stderr] Compiling syn v2.0.76 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling thisenum v0.1.2 [INFO] [stderr] Compiling unzip-n v0.1.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Compiling thisenum-impl v0.2.1 [INFO] [stderr] Compiling tinyklv-common v0.0.1-alpha.1 [INFO] [stderr] Compiling tinyklv-impl v0.0.1-alpha.1 [INFO] [stderr] Checking thisenum v0.2.1 [INFO] [stderr] Checking tinyklv v0.0.1-alpha.1 [INFO] [stderr] Checking misb v0.0.1-alpha (/opt/rustwide/workdir) [INFO] [stdout] & [u8], sentinel = [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = String, dyn = true, dec = [INFO] [stdout] tinyklv::codecs::binary::dec::to_string_ascii), [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = String, dyn = true, dec = [INFO] [stdout] tinyklv::codecs::binary::dec::to_string_ascii), [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_oid, dec = tinyklv :: codecs :: ber :: [INFO] [stdout] dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_length, dec = tinyklv :: codecs :: ber [INFO] [stdout] :: dec :: ber_length [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] u16, dec = tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] String, dyn = true, dec = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii [INFO] [stdout] true, dec = tinyklv :: codecs :: binary :: dec :: to_string_ascii [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_ascii [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_oid [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_ascii [INFO] [stdout] 0x01, dec = SecurityClassification :: decode [INFO] [stdout] SecurityClassification :: decode [INFO] [stdout] IM IN HERE SecurityClassification :: decode [INFO] [stdout] 0x02, dec = CountryCodingMethod :: decode_tag_02 [INFO] [stdout] CountryCodingMethod :: decode_tag_02 [INFO] [stdout] IM IN HERE CountryCodingMethod :: decode_tag_02 [INFO] [stdout] 0x03 [INFO] [stdout] 0x04 [INFO] [stdout] 0x05 [INFO] [stdout] 0x06 [INFO] [stdout] 0x07 [INFO] [stdout] 0x08 [INFO] [stdout] 0x09 [INFO] [stdout] 0x0A, dyn = true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] & [u8], sentinel = [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = String, dyn = true, dec = [INFO] [stdout] tinyklv::codecs::binary::dec::to_string_ascii), [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = String, dyn = true, dec = [INFO] [stdout] tinyklv::codecs::binary::dec::to_string_ascii), [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_oid, dec = tinyklv :: codecs :: ber :: [INFO] [stdout] dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_length, dec = tinyklv :: codecs :: ber [INFO] [stdout] :: dec :: ber_length [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] u16, dec = tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] String, dyn = true, dec = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] to_string_ascii [INFO] [stdout] IM IN HERE tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] true, dec = tinyklv :: codecs :: binary :: dec :: to_string_ascii [INFO] [stdout] 0x0B [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_ascii [INFO] [stdout] 0x0C, dec = CountryCodingMethod :: decode_tag_0c [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_oid [INFO] [stdout] CountryCodingMethod :: decode_tag_0c [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_ascii [INFO] [stdout] 0x01, dec = SecurityClassification :: decode [INFO] [stdout] SecurityClassification :: decode [INFO] [stdout] IM IN HERE SecurityClassification :: decode [INFO] [stdout] IM IN HERE CountryCodingMethod :: decode_tag_0c [INFO] [stdout] 0x0D, dec = tinyklv :: codecs :: binary :: dec :: to_string_utf16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_utf16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_utf16 [INFO] [stdout] 0x02, dec = CountryCodingMethod :: decode_tag_02 [INFO] [stdout] CountryCodingMethod :: decode_tag_02 [INFO] [stdout] 0x0E [INFO] [stdout] IM IN HERE CountryCodingMethod :: decode_tag_02 [INFO] [stdout] 0x16 [INFO] [stdout] 0x03 [INFO] [stdout] 0x17, dyn = true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] 0x04 [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] IM IN HERE tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] 0x05 [INFO] [stdout] 0x18, dyn = true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] true, dec = tinyklv :: as_date! [INFO] [stdout] 0x06 [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] 0x07 [INFO] [stdout] IM IN HERE tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] 0x08 [INFO] [stdout] 0x09 [INFO] [stdout] 0x0A, dyn = true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] IM IN HERE tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] 0x0B [INFO] [stdout] 0x0C, dec = CountryCodingMethod :: decode_tag_0c [INFO] [stdout] CountryCodingMethod :: decode_tag_0c [INFO] [stdout] IM IN HERE CountryCodingMethod :: decode_tag_0c [INFO] [stdout] 0x0D, dec = tinyklv :: codecs :: binary :: dec :: to_string_utf16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_utf16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_utf16 [INFO] [stdout] 0x0E [INFO] [stdout] 0x16 [INFO] [stdout] 0x17, dyn = true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0102), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Seek`] for [`", stringify! (& [u8]), [INFO] [stdout] "`]")] impl :: tinyklv :: prelude :: Seek < & [u8] > for Misb0102 [INFO] [stdout] { [INFO] [stdout] fn seek < 'z > (input : & mut & 'z [u8]) -> :: tinyklv :: reexport :: [INFO] [stdout] winnow :: PResult < & 'z [u8] > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let packet_len = match :: tinyklv [INFO] [stdout] :: reexport :: winnow :: combinator :: seq! [INFO] [stdout] (_ : [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok(x) => x.0 as usize, Err(e) => return [INFO] [stdout] Err(e.backtrack().add_context(input, & checkpoint, :: tinyklv :: [INFO] [stdout] reexport :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("Unable to find recognition sentinal and packet length for initial parsing of `", [INFO] [stdout] stringify! (Misb0102), "` packet")))), [INFO] [stdout] }; :: tinyklv :: reexport :: winnow :: token :: [INFO] [stdout] take(packet_len).parse_next(input) [INFO] [stdout] } [INFO] [stdout] } #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0102), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Decode`] for [`", stringify! [INFO] [stdout] (& [u8]), "`]")] impl :: tinyklv :: prelude :: Decode < & [u8] > for Misb0102 [INFO] [stdout] { [INFO] [stdout] fn decode(input : & mut & [u8]) -> :: tinyklv :: reexport :: winnow :: [INFO] [stdout] PResult < Self > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let mut security_classification : [INFO] [stdout] Option < SecurityClassification > = None; let mut [INFO] [stdout] country_coding_method : Option < CountryCodingMethod > = None; let mut [INFO] [stdout] classifying_country : Option < String > = None; let mut [INFO] [stdout] sci_shi_information : Option < String > = None; let mut caveats : [INFO] [stdout] Option < String > = None; let mut releasing_instructions : Option < [INFO] [stdout] String > = None; let mut classified_by : Option < String > = None; let [INFO] [stdout] mut derived_from : Option < String > = None; let mut [INFO] [stdout] classification_reason : Option < String > = None; let mut [INFO] [stdout] declassification_date : Option < chrono :: NaiveDate > = None; let mut [INFO] [stdout] classification_and_marking_system : Option < String > = None; let mut [INFO] [stdout] object_country_coding_method : Option < CountryCodingMethod > = None; [INFO] [stdout] let mut object_country_codes : Option < String > = None; let mut [INFO] [stdout] classification_comments : Option < String > = None; let mut version : [INFO] [stdout] Option < u16 > = None; let mut country_coding_method_version_date : [INFO] [stdout] Option < chrono :: NaiveDate > = None; let mut [INFO] [stdout] object_country_coding_method_version_date : Option < chrono :: [INFO] [stdout] NaiveDate > = None; loop [INFO] [stdout] { [INFO] [stdout] match [INFO] [stdout] (tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > , tinyklv [INFO] [stdout] :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok((key, len)) => match (key, len) [INFO] [stdout] { [INFO] [stdout] (0x01, _) => security_classification = [INFO] [stdout] SecurityClassification :: decode(input).ok(), (0x02, _) => [INFO] [stdout] country_coding_method = CountryCodingMethod :: [INFO] [stdout] decode_tag_02(input).ok(), (0x03, len) => [INFO] [stdout] classifying_country = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x04, len) => [INFO] [stdout] sci_shi_information = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x05, len) => caveats = [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x06, len) => [INFO] [stdout] releasing_instructions = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_ascii(input, len).ok(), (0x07, len) => [INFO] [stdout] classified_by = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x08, len) => [INFO] [stdout] derived_from = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x09, len) => [INFO] [stdout] classification_reason = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_ascii(input, len).ok(), (0x0A, len) => [INFO] [stdout] declassification_date = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] (input, len).ok(), (0x0B, len) => [INFO] [stdout] classification_and_marking_system = tinyklv :: codecs :: [INFO] [stdout] binary :: dec :: to_string_ascii(input, len).ok(), (0x0C, _) [INFO] [stdout] => object_country_coding_method = CountryCodingMethod :: [INFO] [stdout] decode_tag_0c(input).ok(), (0x0D, len) => [INFO] [stdout] object_country_codes = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf16(input, len).ok(), (0x0E, len) => [INFO] [stdout] classification_comments = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_ascii(input, len).ok(), (0x16, _) => version = [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16(input).ok(), [INFO] [stdout] (0x17, len) => country_coding_method_version_date = tinyklv [INFO] [stdout] :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] (input, len).ok(), (0x18, len) => [INFO] [stdout] object_country_coding_method_version_date = tinyklv :: [INFO] [stdout] as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] (input, len).ok(), (_, len) => [INFO] [stdout] { [INFO] [stdout] let _ = :: tinyklv :: reexport :: winnow :: token :: take :: [INFO] [stdout] < usize, & [u8], :: tinyklv :: reexport :: winnow :: error [INFO] [stdout] :: ContextError > (len).parse_next(input); [INFO] [stdout] }, [INFO] [stdout] }, Err(_) => break, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Ok(Misb0102 [INFO] [stdout] { [INFO] [stdout] security_classification : [INFO] [stdout] security_classification.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (security_classification), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , country_coding_method : [INFO] [stdout] country_coding_method.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (country_coding_method), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , classifying_country : [INFO] [stdout] classifying_country.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (classifying_country), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , sci_shi_information, caveats, releasing_instructions, [INFO] [stdout] classified_by, derived_from, classification_reason, [INFO] [stdout] declassification_date, classification_and_marking_system, [INFO] [stdout] object_country_coding_method, object_country_codes, [INFO] [stdout] classification_comments, version : [INFO] [stdout] version.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (version), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , country_coding_method_version_date : [INFO] [stdout] country_coding_method_version_date.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (country_coding_method_version_date), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , object_country_coding_method_version_date : [INFO] [stdout] object_country_coding_method_version_date.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (object_country_coding_method_version_date), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] StructAttrSchema { stream: & [u8], sentinel: b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", key: enc: tinyklv :: codecs :: ber :: enc :: ber_oid, dec: tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 >, len: enc: tinyklv :: codecs :: ber :: enc :: ber_length, dec: tinyklv :: codecs :: ber :: dec :: ber_length, defaults: { [INFO] [stdout] ty: u16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, [INFO] [stdout] ty: String, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, [INFO] [stdout] } } [INFO] [stdout] [name: security_classification, contents: key: 0x01, dyn: None, enc: , dec: SecurityClassification :: decode, name: country_coding_method, contents: key: 0x02, dyn: None, enc: , dec: CountryCodingMethod :: decode_tag_02, name: classifying_country, contents: key: 0x03, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: sci_shi_information, contents: key: 0x04, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: caveats, contents: key: 0x05, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: releasing_instructions, contents: key: 0x06, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: classified_by, contents: key: 0x07, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: derived_from, contents: key: 0x08, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: classification_reason, contents: key: 0x09, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: declassification_date, contents: key: 0x0A, dyn: Some(true), enc: , dec: tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",), name: classification_and_marking_system, contents: key: 0x0B, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: object_country_coding_method, contents: key: 0x0C, dyn: None, enc: , dec: CountryCodingMethod :: decode_tag_0c, name: object_country_codes, contents: key: 0x0D, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf16, name: classification_comments, contents: key: 0x0E, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: version, contents: key: 0x16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: country_coding_method_version_date, contents: key: 0x17, dyn: Some(true), enc: , dec: tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",), name: object_country_coding_method_version_date, contents: key: 0x18, dyn: Some(true), enc: , dec: tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",)] [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] IM IN HERE tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] 0x18, dyn = true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] true, dec = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] IM IN HERE tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0102), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Seek`] for [`", stringify! (& [u8]), [INFO] [stdout] "`]")] impl :: tinyklv :: prelude :: Seek < & [u8] > for Misb0102 [INFO] [stdout] { [INFO] [stdout] fn seek < 'z > (input : & mut & 'z [u8]) -> :: tinyklv :: reexport :: [INFO] [stdout] winnow :: PResult < & 'z [u8] > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let packet_len = match :: tinyklv [INFO] [stdout] :: reexport :: winnow :: combinator :: seq! [INFO] [stdout] (_ : [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok(x) => x.0 as usize, Err(e) => return [INFO] [stdout] Err(e.backtrack().add_context(input, & checkpoint, :: tinyklv :: [INFO] [stdout] reexport :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("Unable to find recognition sentinal and packet length for initial parsing of `", [INFO] [stdout] stringify! (Misb0102), "` packet")))), [INFO] [stdout] }; :: tinyklv :: reexport :: winnow :: token :: [INFO] [stdout] take(packet_len).parse_next(input) [INFO] [stdout] } [INFO] [stdout] } #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0102), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Decode`] for [`", stringify! [INFO] [stdout] (& [u8]), "`]")] impl :: tinyklv :: prelude :: Decode < & [u8] > for Misb0102 [INFO] [stdout] { [INFO] [stdout] fn decode(input : & mut & [u8]) -> :: tinyklv :: reexport :: winnow :: [INFO] [stdout] PResult < Self > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let mut security_classification : [INFO] [stdout] Option < SecurityClassification > = None; let mut [INFO] [stdout] country_coding_method : Option < CountryCodingMethod > = None; let mut [INFO] [stdout] classifying_country : Option < String > = None; let mut [INFO] [stdout] sci_shi_information : Option < String > = None; let mut caveats : [INFO] [stdout] Option < String > = None; let mut releasing_instructions : Option < [INFO] [stdout] String > = None; let mut classified_by : Option < String > = None; let [INFO] [stdout] mut derived_from : Option < String > = None; let mut [INFO] [stdout] classification_reason : Option < String > = None; let mut [INFO] [stdout] declassification_date : Option < chrono :: NaiveDate > = None; let mut [INFO] [stdout] classification_and_marking_system : Option < String > = None; let mut [INFO] [stdout] object_country_coding_method : Option < CountryCodingMethod > = None; [INFO] [stdout] let mut object_country_codes : Option < String > = None; let mut [INFO] [stdout] classification_comments : Option < String > = None; let mut version : [INFO] [stdout] Option < u16 > = None; let mut country_coding_method_version_date : [INFO] [stdout] Option < chrono :: NaiveDate > = None; let mut [INFO] [stdout] object_country_coding_method_version_date : Option < chrono :: [INFO] [stdout] NaiveDate > = None; loop [INFO] [stdout] { [INFO] [stdout] match [INFO] [stdout] (tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > , tinyklv [INFO] [stdout] :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok((key, len)) => match (key, len) [INFO] [stdout] { [INFO] [stdout] (0x01, _) => security_classification = [INFO] [stdout] SecurityClassification :: decode(input).ok(), (0x02, _) => [INFO] [stdout] country_coding_method = CountryCodingMethod :: [INFO] [stdout] decode_tag_02(input).ok(), (0x03, len) => [INFO] [stdout] classifying_country = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x04, len) => [INFO] [stdout] sci_shi_information = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x05, len) => caveats = [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x06, len) => [INFO] [stdout] releasing_instructions = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_ascii(input, len).ok(), (0x07, len) => [INFO] [stdout] classified_by = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x08, len) => [INFO] [stdout] derived_from = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_ascii(input, len).ok(), (0x09, len) => [INFO] [stdout] classification_reason = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_ascii(input, len).ok(), (0x0A, len) => [INFO] [stdout] declassification_date = tinyklv :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",) [INFO] [stdout] (input, len).ok(), (0x0B, len) => [INFO] [stdout] classification_and_marking_system = tinyklv :: codecs :: [INFO] [stdout] binary :: dec :: to_string_ascii(input, len).ok(), (0x0C, _) [INFO] [stdout] => object_country_coding_method = CountryCodingMethod :: [INFO] [stdout] decode_tag_0c(input).ok(), (0x0D, len) => [INFO] [stdout] object_country_codes = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf16(input, len).ok(), (0x0E, len) => [INFO] [stdout] classification_comments = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_ascii(input, len).ok(), (0x16, _) => version = [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16(input).ok(), [INFO] [stdout] (0x17, len) => country_coding_method_version_date = tinyklv [INFO] [stdout] :: as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] (input, len).ok(), (0x18, len) => [INFO] [stdout] object_country_coding_method_version_date = tinyklv :: [INFO] [stdout] as_date! [INFO] [stdout] (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",) [INFO] [stdout] (input, len).ok(), (_, len) => [INFO] [stdout] { [INFO] [stdout] let _ = :: tinyklv :: reexport :: winnow :: token :: take :: [INFO] [stdout] < usize, & [u8], :: tinyklv :: reexport :: winnow :: error [INFO] [stdout] :: ContextError > (len).parse_next(input); [INFO] [stdout] }, [INFO] [stdout] }, Err(_) => break, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Ok(Misb0102 [INFO] [stdout] { [INFO] [stdout] security_classification : [INFO] [stdout] security_classification.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (security_classification), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , country_coding_method : [INFO] [stdout] country_coding_method.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (country_coding_method), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , classifying_country : [INFO] [stdout] classifying_country.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (classifying_country), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , sci_shi_information, caveats, releasing_instructions, [INFO] [stdout] classified_by, derived_from, classification_reason, [INFO] [stdout] declassification_date, classification_and_marking_system, [INFO] [stdout] object_country_coding_method, object_country_codes, [INFO] [stdout] classification_comments, version : [INFO] [stdout] version.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (version), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , country_coding_method_version_date : [INFO] [stdout] country_coding_method_version_date.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (country_coding_method_version_date), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , object_country_coding_method_version_date : [INFO] [stdout] object_country_coding_method_version_date.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (object_country_coding_method_version_date), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0102), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] & [u8], sentinel = [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_oid, dec = tinyklv :: codecs :: ber :: [INFO] [stdout] dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_length, dec = tinyklv :: codecs :: ber [INFO] [stdout] :: dec :: ber_length [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] u8, dec = tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] u16, dec = tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] i8, dec = tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] String, dec = tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] true [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_oid [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_utf8 [INFO] [stdout] 0x01 [INFO] [stdout] 0x02, dec = ops :: to_precision_timestamp [INFO] [stdout] ops :: to_precision_timestamp [INFO] [stdout] IM IN HERE ops :: to_precision_timestamp [INFO] [stdout] 0x03 [INFO] [stdout] 0x04 [INFO] [stdout] 0x05, dec = ops :: to_platform_heading_angle [INFO] [stdout] ops :: to_platform_heading_angle [INFO] [stdout] IM IN HERE ops :: to_platform_heading_angle [INFO] [stdout] 0x06, dec = ops :: to_platform_pitch_angle [INFO] [stdout] ops :: to_platform_pitch_angle [INFO] [stdout] IM IN HERE ops :: to_platform_pitch_angle [INFO] [stdout] 0x07, dec = ops :: to_platform_roll_angle [INFO] [stdout] ops :: to_platform_roll_angle [INFO] [stdout] IM IN HERE ops :: to_platform_roll_angle [INFO] [stdout] 0x08 [INFO] [stdout] 0x09 [INFO] [stdout] 0x0a [INFO] [stdout] 0x0b [INFO] [stdout] 0x0c [INFO] [stdout] 0x0d, dec = ops :: to_lat [INFO] [stdout] ops :: to_lat [INFO] [stdout] IM IN HERE ops :: to_lat [INFO] [stdout] 0x0e, dec = ops :: to_lon [INFO] [stdout] ops :: to_lon [INFO] [stdout] IM IN HERE ops :: to_lon [INFO] [stdout] 0x0f, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x10, dec = ops :: to_sensor_hvfov [INFO] [stdout] ops :: to_sensor_hvfov [INFO] [stdout] IM IN HERE ops :: to_sensor_hvfov [INFO] [stdout] 0x11, dec = ops :: to_sensor_hvfov [INFO] [stdout] ops :: to_sensor_hvfov [INFO] [stdout] IM IN HERE ops :: to_sensor_hvfov [INFO] [stdout] 0x12, dec = ops :: to_sensor_relative_azimuth_angle [INFO] [stdout] ops :: to_sensor_relative_azimuth_angle [INFO] [stdout] IM IN HERE ops :: to_sensor_relative_azimuth_angle [INFO] [stdout] 0x13, dec = ops :: to_sensor_relative_elevation_angle [INFO] [stdout] ops :: to_sensor_relative_elevation_angle [INFO] [stdout] IM IN HERE ops :: to_sensor_relative_elevation_angle [INFO] [stdout] 0x14, dec = ops :: to_sensor_relative_roll_angle [INFO] [stdout] ops :: to_sensor_relative_roll_angle [INFO] [stdout] IM IN HERE ops :: to_sensor_relative_roll_angle [INFO] [stdout] 0x15, dec = ops :: to_slant_range [INFO] [stdout] ops :: to_slant_range [INFO] [stdout] IM IN HERE ops :: to_slant_range [INFO] [stdout] } [INFO] [stdout] 0x16, dec = ops :: to_target_width [INFO] [stdout] ops :: to_target_width [INFO] [stdout] IM IN HERE ops :: to_target_width [INFO] [stdout] 0x17, dec = ops :: to_lat [INFO] [stdout] ops :: to_lat [INFO] [stdout] IM IN HERE ops :: to_lat [INFO] [stdout] 0x18, dec = ops :: to_lon [INFO] [stdout] ops :: to_lon [INFO] [stdout] IM IN HERE ops :: to_lon [INFO] [stdout] 0x19, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x1a, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1b, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1c, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1d, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1e, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] StructAttrSchema { stream: & [u8], sentinel: b"\x06\x0E\x2B\x34\x02\x01\x01\x01\x02\x08\x02\x00\x00\x00\x00\x00", key: enc: tinyklv :: codecs :: ber :: enc :: ber_oid, dec: tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 >, len: enc: tinyklv :: codecs :: ber :: enc :: ber_length, dec: tinyklv :: codecs :: ber :: dec :: ber_length, defaults: { [INFO] [stdout] 0x1f, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x20, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x21, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] ty: u16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, [INFO] [stdout] 0x22, dec = ops :: to_icing_detected [INFO] [stdout] ty: String, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, [INFO] [stdout] ops :: to_icing_detected [INFO] [stdout] IM IN HERE ops :: to_icing_detected [INFO] [stdout] 0x23, dec = ops :: to_wind_direction [INFO] [stdout] ops :: to_wind_direction [INFO] [stdout] IM IN HERE ops :: to_wind_direction [INFO] [stdout] } } [INFO] [stdout] 0x24, dec = ops :: to_wind_speed [INFO] [stdout] ops :: to_wind_speed [INFO] [stdout] IM IN HERE ops :: to_wind_speed [INFO] [stdout] 0x25, dec = ops :: to_mbar_pressure [INFO] [stdout] ops :: to_mbar_pressure [INFO] [stdout] IM IN HERE ops :: to_mbar_pressure [INFO] [stdout] 0x26, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x27 [INFO] [stdout] 0x28, dec = ops :: to_lat [INFO] [stdout] ops :: to_lat [INFO] [stdout] IM IN HERE ops :: to_lat [INFO] [stdout] 0x29, dec = ops :: to_lon [INFO] [stdout] ops :: to_lon [INFO] [stdout] IM IN HERE ops :: to_lon [INFO] [stdout] 0x2a, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x2b, dec = ops :: to_target_track_gate_hw [INFO] [stdout] ops :: to_target_track_gate_hw [INFO] [stdout] IM IN HERE ops :: to_target_track_gate_hw [INFO] [stdout] 0x2c, dec = ops :: to_target_track_gate_hw [INFO] [stdout] ops :: to_target_track_gate_hw [INFO] [stdout] IM IN HERE ops :: to_target_track_gate_hw [INFO] [stdout] 0x2d, dec = ops :: to_error_estimate [INFO] [stdout] ops :: to_error_estimate [INFO] [stdout] IM IN HERE ops :: to_error_estimate [INFO] [stdout] 0x2e, dec = ops :: to_error_estimate [INFO] [stdout] ops :: to_error_estimate [INFO] [stdout] IM IN HERE ops :: to_error_estimate [INFO] [stdout] 0x2f, dec = GenericFlagData :: decode [INFO] [stdout] GenericFlagData :: decode [INFO] [stdout] IM IN HERE GenericFlagData :: decode [INFO] [stdout] 0x30, dec = crate :: misb0102 :: Misb0102 :: decode [INFO] [stdout] crate :: misb0102 :: Misb0102 :: decode [INFO] [stdout] IM IN HERE crate :: misb0102 :: Misb0102 :: decode [INFO] [stdout] 0x31, dec = ops :: to_mbar_pressure [INFO] [stdout] ops :: to_mbar_pressure [INFO] [stdout] IM IN HERE ops :: to_mbar_pressure [INFO] [stdout] [name: security_classification, contents: key: 0x01, dyn: None, enc: , dec: SecurityClassification :: decode, name: country_coding_method, contents: key: 0x02, dyn: None, enc: , dec: CountryCodingMethod :: decode_tag_02, name: classifying_country, contents: key: 0x03, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: sci_shi_information, contents: key: 0x04, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: caveats, contents: key: 0x05, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: releasing_instructions, contents: key: 0x06, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: classified_by, contents: key: 0x07, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: derived_from, contents: key: 0x08, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: classification_reason, contents: key: 0x09, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: declassification_date, contents: key: 0x0A, dyn: Some(true), enc: , dec: tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y%m%d",), name: classification_and_marking_system, contents: key: 0x0B, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: object_country_coding_method, contents: key: 0x0C, dyn: None, enc: , dec: CountryCodingMethod :: decode_tag_0c, name: object_country_codes, contents: key: 0x0D, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf16, name: classification_comments, contents: key: 0x0E, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_ascii, name: version, contents: key: 0x16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: country_coding_method_version_date, contents: key: 0x17, dyn: Some(true), enc: , dec: tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",), name: object_country_coding_method_version_date, contents: key: 0x18, dyn: Some(true), enc: , dec: tinyklv :: as_date! (tinyklv::dec::binary::to_string_ascii, "%Y-%m-%d",)] [INFO] [stdout] 0x32, dec = ops :: to_platform_pitch_angle [INFO] [stdout] ops :: to_platform_pitch_angle [INFO] [stdout] IM IN HERE ops :: to_platform_pitch_angle [INFO] [stdout] 0x33, dec = ops :: to_platform_vertical_speed [INFO] [stdout] ops :: to_platform_vertical_speed [INFO] [stdout] IM IN HERE ops :: to_platform_vertical_speed [INFO] [stdout] #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0601), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Seek`] for [`", stringify! (& [u8]), [INFO] [stdout] "`]")] impl :: tinyklv :: prelude :: Seek < & [u8] > for Misb0601 [INFO] [stdout] { [INFO] [stdout] fn seek < 'z > (input : & mut & 'z [u8]) -> :: tinyklv :: reexport :: [INFO] [stdout] winnow :: PResult < & 'z [u8] > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let packet_len = match :: tinyklv [INFO] [stdout] :: reexport :: winnow :: combinator :: seq! [INFO] [stdout] (_ : [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok(x) => x.0 as usize, Err(e) => return [INFO] [stdout] Err(e.backtrack().add_context(input, & checkpoint, :: tinyklv :: [INFO] [stdout] reexport :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("Unable to find recognition sentinal and packet length for initial parsing of `", [INFO] [stdout] stringify! (Misb0601), "` packet")))), [INFO] [stdout] }; :: tinyklv :: reexport :: winnow :: token :: [INFO] [stdout] take(packet_len).parse_next(input) [INFO] [stdout] } [INFO] [stdout] } #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0601), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Decode`] for [`", stringify! [INFO] [stdout] (& [u8]), "`]")] impl :: tinyklv :: prelude :: Decode < & [u8] > for Misb0601 [INFO] [stdout] { [INFO] [stdout] fn decode(input : & mut & [u8]) -> :: tinyklv :: reexport :: winnow :: [INFO] [stdout] PResult < Self > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let mut checksum : Option < u16 > [INFO] [stdout] = None; let mut precision_timestamp : Option < chrono :: DateTime < [INFO] [stdout] chrono :: Utc > > = None; let mut mission_id : Option < String > = [INFO] [stdout] None; let mut platform_tail_number : Option < String > = None; let mut [INFO] [stdout] platform_heading_angle : Option < f32 > = None; let mut [INFO] [stdout] platform_pitch_angle : Option < f32 > = None; let mut [INFO] [stdout] platform_roll_angle : Option < f32 > = None; let mut [INFO] [stdout] platform_true_airspeed : Option < u8 > = None; let mut [INFO] [stdout] platform_indicated_airspeed : Option < u8 > = None; let mut [INFO] [stdout] platform_designation : Option < String > = None; let mut [INFO] [stdout] image_source_sensor : Option < String > = None; let mut [INFO] [stdout] image_coordinate_system : Option < String > = None; let mut [INFO] [stdout] sensor_latitude : Option < f64 > = None; let mut sensor_longitude : [INFO] [stdout] Option < f64 > = None; let mut sensor_true_altitude : Option < f32 > = [INFO] [stdout] None; let mut sensor_hfov : Option < f32 > = None; let mut sensor_vfov [INFO] [stdout] : Option < f32 > = None; let mut sensor_relative_azimuth_angle : [INFO] [stdout] Option < f64 > = None; let mut sensor_relative_elevation_angle : [INFO] [stdout] Option < f64 > = None; let mut sensor_relative_roll_angle : Option < [INFO] [stdout] f64 > = None; let mut slant_range : Option < f64 > = None; let mut [INFO] [stdout] target_width : Option < f32 > = None; let mut frame_center_latitude : [INFO] [stdout] Option < f64 > = None; let mut frame_center_longitude : Option < f64 > [INFO] [stdout] = None; let mut frame_center_elevation : Option < f32 > = None; let [INFO] [stdout] mut offset_corner_lat_p1 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p1 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lat_p2 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p2 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lat_p3 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p3 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lat_p4 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p4 : Option < f32 > = None; let mut icing_detected : [INFO] [stdout] Option < Icing > = None; let mut wind_direction : Option < f32 > = [INFO] [stdout] None; let mut wind_speed : Option < f32 > = None; let mut [INFO] [stdout] static_pressure : Option < f32 > = None; let mut density_altitude : [INFO] [stdout] Option < f32 > = None; let mut outside_air_temperature : Option < i8 > [INFO] [stdout] = None; let mut target_location_latitude : Option < f64 > = None; let [INFO] [stdout] mut target_location_longitude : Option < f64 > = None; let mut [INFO] [stdout] target_location_elevation : Option < f32 > = None; let mut [INFO] [stdout] target_track_gate_width : Option < u16 > = None; let mut [INFO] [stdout] target_track_gate_height : Option < u16 > = None; let mut [INFO] [stdout] target_error_estimate_ce90 : Option < f32 > = None; let mut [INFO] [stdout] target_error_estimate_le90 : Option < f32 > = None; let mut [INFO] [stdout] generic_flag_data : Option < GenericFlagData > = None; let mut [INFO] [stdout] security_local_set : Option < crate :: misb0102 :: Misb0102 > = None; [INFO] [stdout] let mut differential_pressure : Option < f32 > = None; let mut [INFO] [stdout] platform_angle_of_attack : Option < f32 > = None; let mut [INFO] [stdout] platform_vertical_speed : Option < f32 > = None; loop [INFO] [stdout] { [INFO] [stdout] match [INFO] [stdout] (tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > , tinyklv [INFO] [stdout] :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok((key, len)) => match (key, len) [INFO] [stdout] { [INFO] [stdout] (0x01, _) => checksum = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_u16(input).ok(), (0x02, _) => precision_timestamp = [INFO] [stdout] ops :: to_precision_timestamp(input).ok(), (0x03, len) => [INFO] [stdout] mission_id = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x04, len) => [INFO] [stdout] platform_tail_number = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x05, _) => [INFO] [stdout] platform_heading_angle = ops :: [INFO] [stdout] to_platform_heading_angle(input).ok(), (0x06, _) => [INFO] [stdout] platform_pitch_angle = ops :: [INFO] [stdout] to_platform_pitch_angle(input).ok(), (0x07, _) => [INFO] [stdout] platform_roll_angle = ops :: [INFO] [stdout] to_platform_roll_angle(input).ok(), (0x08, _) => [INFO] [stdout] platform_true_airspeed = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_u8(input).ok(), (0x09, _) => [INFO] [stdout] platform_indicated_airspeed = tinyklv :: codecs :: binary :: [INFO] [stdout] dec :: be_u8(input).ok(), (0x0a, len) => [INFO] [stdout] platform_designation = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x0b, len) => [INFO] [stdout] image_source_sensor = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x0c, len) => [INFO] [stdout] image_coordinate_system = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_utf8(input, len).ok(), (0x0d, _) => [INFO] [stdout] sensor_latitude = ops :: to_lat(input).ok(), (0x0e, _) => [INFO] [stdout] sensor_longitude = ops :: to_lon(input).ok(), (0x0f, _) => [INFO] [stdout] sensor_true_altitude = ops :: to_alt(input).ok(), (0x10, _) [INFO] [stdout] => sensor_hfov = ops :: to_sensor_hvfov(input).ok(), [INFO] [stdout] (0x11, _) => sensor_vfov = ops :: [INFO] [stdout] to_sensor_hvfov(input).ok(), (0x12, _) => [INFO] [stdout] sensor_relative_azimuth_angle = ops :: [INFO] [stdout] to_sensor_relative_azimuth_angle(input).ok(), (0x13, _) => [INFO] [stdout] sensor_relative_elevation_angle = ops :: [INFO] [stdout] to_sensor_relative_elevation_angle(input).ok(), (0x14, _) => [INFO] [stdout] sensor_relative_roll_angle = ops :: [INFO] [stdout] to_sensor_relative_roll_angle(input).ok(), (0x15, _) => [INFO] [stdout] slant_range = ops :: to_slant_range(input).ok(), (0x16, _) [INFO] [stdout] => target_width = ops :: to_target_width(input).ok(), [INFO] [stdout] (0x17, _) => frame_center_latitude = ops :: [INFO] [stdout] to_lat(input).ok(), (0x18, _) => frame_center_longitude = [INFO] [stdout] ops :: to_lon(input).ok(), (0x19, _) => [INFO] [stdout] frame_center_elevation = ops :: to_alt(input).ok(), [INFO] [stdout] (0x1a, _) => offset_corner_lat_p1 = ops :: [INFO] [stdout] to_offset_ll(input).ok(), (0x1b, _) => offset_corner_lon_p1 [INFO] [stdout] = ops :: to_offset_ll(input).ok(), (0x1c, _) => [INFO] [stdout] offset_corner_lat_p2 = ops :: to_offset_ll(input).ok(), [INFO] [stdout] (0x1d, _) => offset_corner_lon_p2 = ops :: [INFO] [stdout] to_offset_ll(input).ok(), (0x1e, _) => offset_corner_lat_p3 [INFO] [stdout] = ops :: to_offset_ll(input).ok(), (0x1f, _) => [INFO] [stdout] offset_corner_lon_p3 = ops :: to_offset_ll(input).ok(), [INFO] [stdout] (0x20, _) => offset_corner_lat_p4 = ops :: [INFO] [stdout] to_offset_ll(input).ok(), (0x21, _) => offset_corner_lon_p4 [INFO] [stdout] = ops :: to_offset_ll(input).ok(), (0x22, _) => [INFO] [stdout] icing_detected = ops :: to_icing_detected(input).ok(), [INFO] [stdout] (0x23, _) => wind_direction = ops :: [INFO] [stdout] to_wind_direction(input).ok(), (0x24, _) => wind_speed = ops [INFO] [stdout] :: to_wind_speed(input).ok(), (0x25, _) => static_pressure = [INFO] [stdout] ops :: to_mbar_pressure(input).ok(), (0x26, _) => [INFO] [stdout] density_altitude = ops :: to_alt(input).ok(), (0x27, _) => [INFO] [stdout] outside_air_temperature = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_i8(input).ok(), (0x28, _) => target_location_latitude [INFO] [stdout] = ops :: to_lat(input).ok(), (0x29, _) => [INFO] [stdout] target_location_longitude = ops :: to_lon(input).ok(), [INFO] [stdout] (0x2a, _) => target_location_elevation = ops :: [INFO] [stdout] to_alt(input).ok(), (0x2b, _) => target_track_gate_width = [INFO] [stdout] ops :: to_target_track_gate_hw(input).ok(), (0x2c, _) => [INFO] [stdout] target_track_gate_height = ops :: [INFO] [stdout] to_target_track_gate_hw(input).ok(), (0x2d, _) => [INFO] [stdout] target_error_estimate_ce90 = ops :: [INFO] [stdout] to_error_estimate(input).ok(), (0x2e, _) => [INFO] [stdout] target_error_estimate_le90 = ops :: [INFO] [stdout] to_error_estimate(input).ok(), (0x2f, _) => [INFO] [stdout] generic_flag_data = GenericFlagData :: decode(input).ok(), [INFO] [stdout] (0x30, _) => security_local_set = crate :: misb0102 :: [INFO] [stdout] Misb0102 :: decode(input).ok(), (0x31, _) => [INFO] [stdout] differential_pressure = ops :: to_mbar_pressure(input).ok(), [INFO] [stdout] (0x32, _) => platform_angle_of_attack = ops :: [INFO] [stdout] to_platform_pitch_angle(input).ok(), (0x33, _) => [INFO] [stdout] platform_vertical_speed = ops :: [INFO] [stdout] to_platform_vertical_speed(input).ok(), (_, len) => [INFO] [stdout] { [INFO] [stdout] let _ = :: tinyklv :: reexport :: winnow :: token :: take :: [INFO] [stdout] < usize, & [u8], :: tinyklv :: reexport :: winnow :: error [INFO] [stdout] :: ContextError > (len).parse_next(input); [INFO] [stdout] }, [INFO] [stdout] }, Err(_) => break, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Ok(Misb0601 [INFO] [stdout] { [INFO] [stdout] checksum : [INFO] [stdout] checksum.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (checksum), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0601), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , precision_timestamp : [INFO] [stdout] precision_timestamp.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (precision_timestamp), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0601), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , mission_id, platform_tail_number, platform_heading_angle, [INFO] [stdout] platform_pitch_angle, platform_roll_angle, platform_true_airspeed, [INFO] [stdout] platform_indicated_airspeed, platform_designation, [INFO] [stdout] image_source_sensor, image_coordinate_system, sensor_latitude, [INFO] [stdout] sensor_longitude, sensor_true_altitude, sensor_hfov, sensor_vfov, [INFO] [stdout] sensor_relative_azimuth_angle, sensor_relative_elevation_angle, [INFO] [stdout] sensor_relative_roll_angle, slant_range, target_width, [INFO] [stdout] frame_center_latitude, frame_center_longitude, [INFO] [stdout] frame_center_elevation, offset_corner_lat_p1, [INFO] [stdout] offset_corner_lon_p1, offset_corner_lat_p2, offset_corner_lon_p2, [INFO] [stdout] offset_corner_lat_p3, offset_corner_lon_p3, offset_corner_lat_p4, [INFO] [stdout] offset_corner_lon_p4, icing_detected, wind_direction, wind_speed, [INFO] [stdout] static_pressure, density_altitude, outside_air_temperature, [INFO] [stdout] target_location_latitude, target_location_longitude, [INFO] [stdout] target_location_elevation, target_track_gate_width, [INFO] [stdout] target_track_gate_height, target_error_estimate_ce90, [INFO] [stdout] target_error_estimate_le90, generic_flag_data, security_local_set, [INFO] [stdout] differential_pressure, platform_angle_of_attack, [INFO] [stdout] platform_vertical_speed, [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] StructAttrSchema { stream: & [u8], sentinel: b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", key: enc: tinyklv :: codecs :: ber :: enc :: ber_oid, dec: tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 >, len: enc: tinyklv :: codecs :: ber :: enc :: ber_length, dec: tinyklv :: codecs :: ber :: dec :: ber_length, defaults: { [INFO] [stdout] ty: String, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, [INFO] [stdout] ty: u8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, [INFO] [stdout] ty: u16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, [INFO] [stdout] ty: i8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_i8, [INFO] [stdout] } } [INFO] [stdout] [name: checksum, contents: key: 0x01, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: precision_timestamp, contents: key: 0x02, dyn: None, enc: , dec: ops :: to_precision_timestamp, name: mission_id, contents: key: 0x03, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: platform_tail_number, contents: key: 0x04, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: platform_heading_angle, contents: key: 0x05, dyn: None, enc: , dec: ops :: to_platform_heading_angle, name: platform_pitch_angle, contents: key: 0x06, dyn: None, enc: , dec: ops :: to_platform_pitch_angle, name: platform_roll_angle, contents: key: 0x07, dyn: None, enc: , dec: ops :: to_platform_roll_angle, name: platform_true_airspeed, contents: key: 0x08, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: platform_indicated_airspeed, contents: key: 0x09, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: platform_designation, contents: key: 0x0a, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: image_source_sensor, contents: key: 0x0b, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: image_coordinate_system, contents: key: 0x0c, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: sensor_latitude, contents: key: 0x0d, dyn: None, enc: , dec: ops :: to_lat, name: sensor_longitude, contents: key: 0x0e, dyn: None, enc: , dec: ops :: to_lon, name: sensor_true_altitude, contents: key: 0x0f, dyn: None, enc: , dec: ops :: to_alt, name: sensor_hfov, contents: key: 0x10, dyn: None, enc: , dec: ops :: to_sensor_hvfov, name: sensor_vfov, contents: key: 0x11, dyn: None, enc: , dec: ops :: to_sensor_hvfov, name: sensor_relative_azimuth_angle, contents: key: 0x12, dyn: None, enc: , dec: ops :: to_sensor_relative_azimuth_angle, name: sensor_relative_elevation_angle, contents: key: 0x13, dyn: None, enc: , dec: ops :: to_sensor_relative_elevation_angle, name: sensor_relative_roll_angle, contents: key: 0x14, dyn: None, enc: , dec: ops :: to_sensor_relative_roll_angle, name: slant_range, contents: key: 0x15, dyn: None, enc: , dec: ops :: to_slant_range, name: target_width, contents: key: 0x16, dyn: None, enc: , dec: ops :: to_target_width, name: frame_center_latitude, contents: key: 0x17, dyn: None, enc: , dec: ops :: to_lat, name: frame_center_longitude, contents: key: 0x18, dyn: None, enc: , dec: ops :: to_lon, name: frame_center_elevation, contents: key: 0x19, dyn: None, enc: , dec: ops :: to_alt, name: offset_corner_lat_p1, contents: key: 0x1a, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p1, contents: key: 0x1b, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lat_p2, contents: key: 0x1c, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p2, contents: key: 0x1d, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lat_p3, contents: key: 0x1e, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p3, contents: key: 0x1f, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lat_p4, contents: key: 0x20, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p4, contents: key: 0x21, dyn: None, enc: , dec: ops :: to_offset_ll, name: icing_detected, contents: key: 0x22, dyn: None, enc: , dec: ops :: to_icing_detected, name: wind_direction, contents: key: 0x23, dyn: None, enc: , dec: ops :: to_wind_direction, name: wind_speed, contents: key: 0x24, dyn: None, enc: , dec: ops :: to_wind_speed, name: static_pressure, contents: key: 0x25, dyn: None, enc: , dec: ops :: to_mbar_pressure, name: density_altitude, contents: key: 0x26, dyn: None, enc: , dec: ops :: to_alt, name: outside_air_temperature, contents: key: 0x27, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_i8, name: target_location_latitude, contents: key: 0x28, dyn: None, enc: , dec: ops :: to_lat, name: target_location_longitude, contents: key: 0x29, dyn: None, enc: , dec: ops :: to_lon, name: target_location_elevation, contents: key: 0x2a, dyn: None, enc: , dec: ops :: to_alt, name: target_track_gate_width, contents: key: 0x2b, dyn: None, enc: , dec: ops :: to_target_track_gate_hw, name: target_track_gate_height, contents: key: 0x2c, dyn: None, enc: , dec: ops :: to_target_track_gate_hw, name: target_error_estimate_ce90, contents: key: 0x2d, dyn: None, enc: , dec: ops :: to_error_estimate, name: target_error_estimate_le90, contents: key: 0x2e, dyn: None, enc: , dec: ops :: to_error_estimate, name: generic_flag_data, contents: key: 0x2f, dyn: None, enc: , dec: GenericFlagData :: decode, name: security_local_set, contents: key: 0x30, dyn: None, enc: , dec: crate :: misb0102 :: Misb0102 :: decode, name: differential_pressure, contents: key: 0x31, dyn: None, enc: , dec: ops :: to_mbar_pressure, name: platform_angle_of_attack, contents: key: 0x32, dyn: None, enc: , dec: ops :: to_platform_pitch_angle, name: platform_vertical_speed, contents: key: 0x33, dyn: None, enc: , dec: ops :: to_platform_vertical_speed] [INFO] [stdout] & [u8], sentinel = [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_oid, dec = tinyklv :: codecs :: ber :: [INFO] [stdout] dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_length, dec = tinyklv :: codecs :: ber [INFO] [stdout] :: dec :: ber_length [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] u8, dec = tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] u16, dec = tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] i8, dec = tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] String, dec = tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] true [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_oid [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_utf8 [INFO] [stdout] 0x01 [INFO] [stdout] 0x02, dec = crate :: misb0601 :: ops :: to_precision_timestamp [INFO] [stdout] crate :: misb0601 :: ops :: to_precision_timestamp [INFO] [stdout] IM IN HERE crate :: misb0601 :: ops :: to_precision_timestamp [INFO] [stdout] 0x03 [INFO] [stdout] 0x04 [INFO] [stdout] 0x05 [INFO] [stdout] 0x06 [INFO] [stdout] 0x08 [INFO] [stdout] 0x09 [INFO] [stdout] 0x0A [INFO] [stdout] #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0903), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Seek`] for [`", stringify! (& [u8]), [INFO] [stdout] "`]")] impl :: tinyklv :: prelude :: Seek < & [u8] > for Misb0903 [INFO] [stdout] { [INFO] [stdout] fn seek < 'z > (input : & mut & 'z [u8]) -> :: tinyklv :: reexport :: [INFO] [stdout] winnow :: PResult < & 'z [u8] > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let packet_len = match :: tinyklv [INFO] [stdout] :: reexport :: winnow :: combinator :: seq! [INFO] [stdout] (_ : [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok(x) => x.0 as usize, Err(e) => return [INFO] [stdout] Err(e.backtrack().add_context(input, & checkpoint, :: tinyklv :: [INFO] [stdout] reexport :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("Unable to find recognition sentinal and packet length for initial parsing of `", [INFO] [stdout] stringify! (Misb0903), "` packet")))), [INFO] [stdout] }; :: tinyklv :: reexport :: winnow :: token :: [INFO] [stdout] take(packet_len).parse_next(input) [INFO] [stdout] } [INFO] [stdout] } #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0903), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Decode`] for [`", stringify! [INFO] [stdout] (& [u8]), "`]")] impl :: tinyklv :: prelude :: Decode < & [u8] > for Misb0903 [INFO] [stdout] { [INFO] [stdout] fn decode(input : & mut & [u8]) -> :: tinyklv :: reexport :: winnow :: [INFO] [stdout] PResult < Self > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let mut checksum : Option < u16 > [INFO] [stdout] = None; let mut precision_timestamp : Option < chrono :: DateTime < [INFO] [stdout] chrono :: Utc > > = None; let mut vmti_system_name : Option < String > [INFO] [stdout] = None; let mut vmti_ls_version : Option < u8 > = None; let mut [INFO] [stdout] total_num_targets_detected : Option < u8 > = None; let mut [INFO] [stdout] num_targets_reported : Option < u8 > = None; let mut frame_width : [INFO] [stdout] Option < u16 > = None; let mut frame_height : Option < u16 > = None; [INFO] [stdout] let mut vmti_source_sensor : Option < String > = None; loop [INFO] [stdout] { [INFO] [stdout] match [INFO] [stdout] (tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > , tinyklv [INFO] [stdout] :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok((key, len)) => match (key, len) [INFO] [stdout] { [INFO] [stdout] (0x01, _) => checksum = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_u16(input).ok(), (0x02, _) => precision_timestamp = [INFO] [stdout] crate :: misb0601 :: ops :: [INFO] [stdout] to_precision_timestamp(input).ok(), (0x03, len) => [INFO] [stdout] vmti_system_name = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x04, _) => [INFO] [stdout] vmti_ls_version = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] be_u8(input).ok(), (0x05, _) => total_num_targets_detected = [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u8(input).ok(), [INFO] [stdout] (0x06, _) => num_targets_reported = tinyklv :: codecs :: [INFO] [stdout] binary :: dec :: be_u8(input).ok(), (0x08, _) => frame_width [INFO] [stdout] = tinyklv :: codecs :: binary :: dec :: be_u16(input).ok(), [INFO] [stdout] (0x09, _) => frame_height = tinyklv :: codecs :: binary :: [INFO] [stdout] dec :: be_u16(input).ok(), (0x0A, len) => vmti_source_sensor [INFO] [stdout] = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (_, len) => [INFO] [stdout] { [INFO] [stdout] let _ = :: tinyklv :: reexport :: winnow :: token :: take :: [INFO] [stdout] < usize, & [u8], :: tinyklv :: reexport :: winnow :: error [INFO] [stdout] :: ContextError > (len).parse_next(input); [INFO] [stdout] }, [INFO] [stdout] }, Err(_) => break, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Ok(Misb0903 [INFO] [stdout] { [INFO] [stdout] checksum, precision_timestamp, vmti_system_name, vmti_ls_version, [INFO] [stdout] total_num_targets_detected, num_targets_reported : [INFO] [stdout] num_targets_reported.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (num_targets_reported), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0903), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , frame_width, frame_height, vmti_source_sensor, [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] StructAttrSchema { stream: & [u8], sentinel: b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", key: enc: tinyklv :: codecs :: ber :: enc :: ber_oid, dec: tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 >, len: enc: tinyklv :: codecs :: ber :: enc :: ber_length, dec: tinyklv :: codecs :: ber :: dec :: ber_length, defaults: { [INFO] [stdout] ty: String, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, [INFO] [stdout] ty: u8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, [INFO] [stdout] ty: u16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, [INFO] [stdout] ty: i8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_i8, [INFO] [stdout] } } [INFO] [stdout] [name: checksum, contents: key: 0x01, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: precision_timestamp, contents: key: 0x02, dyn: None, enc: , dec: crate :: misb0601 :: ops :: to_precision_timestamp, name: vmti_system_name, contents: key: 0x03, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: vmti_ls_version, contents: key: 0x04, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: total_num_targets_detected, contents: key: 0x05, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: num_targets_reported, contents: key: 0x06, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: frame_width, contents: key: 0x08, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: frame_height, contents: key: 0x09, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: vmti_source_sensor, contents: key: 0x0A, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8] [INFO] [stdout] & [u8], sentinel = [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_oid, dec = tinyklv :: codecs :: ber :: [INFO] [stdout] dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_length, dec = tinyklv :: codecs :: ber [INFO] [stdout] :: dec :: ber_length [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] u8, dec = tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] u16, dec = tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] i8, dec = tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] String, dec = tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] true [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_oid [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_utf8 [INFO] [stdout] 0x01 [INFO] [stdout] 0x02, dec = ops :: to_precision_timestamp [INFO] [stdout] ops :: to_precision_timestamp [INFO] [stdout] IM IN HERE ops :: to_precision_timestamp [INFO] [stdout] 0x03 [INFO] [stdout] 0x04 [INFO] [stdout] 0x05, dec = ops :: to_platform_heading_angle [INFO] [stdout] ops :: to_platform_heading_angle [INFO] [stdout] IM IN HERE ops :: to_platform_heading_angle [INFO] [stdout] 0x06, dec = ops :: to_platform_pitch_angle [INFO] [stdout] ops :: to_platform_pitch_angle [INFO] [stdout] IM IN HERE ops :: to_platform_pitch_angle [INFO] [stdout] 0x07, dec = ops :: to_platform_roll_angle [INFO] [stdout] ops :: to_platform_roll_angle [INFO] [stdout] IM IN HERE ops :: to_platform_roll_angle [INFO] [stdout] 0x08 [INFO] [stdout] 0x09 [INFO] [stdout] 0x0a [INFO] [stdout] 0x0b [INFO] [stdout] 0x0c [INFO] [stdout] 0x0d, dec = ops :: to_lat [INFO] [stdout] ops :: to_lat [INFO] [stdout] IM IN HERE ops :: to_lat [INFO] [stdout] 0x0e, dec = ops :: to_lon [INFO] [stdout] ops :: to_lon [INFO] [stdout] IM IN HERE ops :: to_lon [INFO] [stdout] 0x0f, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x10, dec = ops :: to_sensor_hvfov [INFO] [stdout] ops :: to_sensor_hvfov [INFO] [stdout] IM IN HERE ops :: to_sensor_hvfov [INFO] [stdout] 0x11, dec = ops :: to_sensor_hvfov [INFO] [stdout] ops :: to_sensor_hvfov [INFO] [stdout] IM IN HERE ops :: to_sensor_hvfov [INFO] [stdout] 0x12, dec = ops :: to_sensor_relative_azimuth_angle [INFO] [stdout] warning: unused import: `chrono::TimeZone` [INFO] [stdout] --> src/dec.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chrono::TimeZone; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ops :: to_sensor_relative_azimuth_angle [INFO] [stdout] warning: unused import: `winnow::prelude::*` [INFO] [stdout] --> src/dec.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use winnow::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winnow::stream::Stream` [INFO] [stdout] --> src/dec.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use winnow::stream::Stream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winnow::error::AddContext` [INFO] [stdout] --> src/dec.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use winnow::error::AddContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] IM IN HERE ops :: to_sensor_relative_azimuth_angle [INFO] [stdout] 0x13, dec = ops :: to_sensor_relative_elevation_angle [INFO] [stdout] ops :: to_sensor_relative_elevation_angle [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/misb1201.rs:345:9 [INFO] [stdout] | [INFO] [stdout] 345 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] IM IN HERE ops :: to_sensor_relative_elevation_angle [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/misb1201.rs:347:9 [INFO] [stdout] | [INFO] [stdout] 347 | Instant, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 348 | Duration, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] 0x14, dec = ops :: to_sensor_relative_roll_angle [INFO] [stdout] ops :: to_sensor_relative_roll_angle [INFO] [stdout] IM IN HERE ops :: to_sensor_relative_roll_angle [INFO] [stdout] 0x15, dec = ops :: to_slant_range [INFO] [stdout] ops :: to_slant_range [INFO] [stdout] IM IN HERE ops :: to_slant_range [INFO] [stdout] 0x16, dec = ops :: to_target_width [INFO] [stdout] ops :: to_target_width [INFO] [stdout] IM IN HERE ops :: to_target_width [INFO] [stdout] 0x17, dec = ops :: to_lat [INFO] [stdout] ops :: to_lat [INFO] [stdout] IM IN HERE ops :: to_lat [INFO] [stdout] 0x18, dec = ops :: to_lon [INFO] [stdout] ops :: to_lon [INFO] [stdout] IM IN HERE ops :: to_lon [INFO] [stdout] 0x19, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x1a, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1b, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1c, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1d, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1e, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x1f, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x20, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x21, dec = ops :: to_offset_ll [INFO] [stdout] ops :: to_offset_ll [INFO] [stdout] IM IN HERE ops :: to_offset_ll [INFO] [stdout] 0x22, dec = ops :: to_icing_detected [INFO] [stdout] ops :: to_icing_detected [INFO] [stdout] IM IN HERE ops :: to_icing_detected [INFO] [stdout] 0x23, dec = ops :: to_wind_direction [INFO] [stdout] ops :: to_wind_direction [INFO] [stdout] IM IN HERE ops :: to_wind_direction [INFO] [stdout] 0x24, dec = ops :: to_wind_speed [INFO] [stdout] ops :: to_wind_speed [INFO] [stdout] IM IN HERE ops :: to_wind_speed [INFO] [stdout] 0x25, dec = ops :: to_mbar_pressure [INFO] [stdout] ops :: to_mbar_pressure [INFO] [stdout] IM IN HERE ops :: to_mbar_pressure [INFO] [stdout] 0x26, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x27 [INFO] [stdout] 0x28, dec = ops :: to_lat [INFO] [stdout] ops :: to_lat [INFO] [stdout] IM IN HERE ops :: to_lat [INFO] [stdout] 0x29, dec = ops :: to_lon [INFO] [stdout] ops :: to_lon [INFO] [stdout] IM IN HERE ops :: to_lon [INFO] [stdout] 0x2a, dec = ops :: to_alt [INFO] [stdout] ops :: to_alt [INFO] [stdout] IM IN HERE ops :: to_alt [INFO] [stdout] 0x2b, dec = ops :: to_target_track_gate_hw [INFO] [stdout] ops :: to_target_track_gate_hw [INFO] [stdout] IM IN HERE ops :: to_target_track_gate_hw [INFO] [stdout] 0x2c, dec = ops :: to_target_track_gate_hw [INFO] [stdout] ops :: to_target_track_gate_hw [INFO] [stdout] IM IN HERE ops :: to_target_track_gate_hw [INFO] [stdout] 0x2d, dec = ops :: to_error_estimate [INFO] [stdout] ops :: to_error_estimate [INFO] [stdout] IM IN HERE ops :: to_error_estimate [INFO] [stdout] 0x2e, dec = ops :: to_error_estimate [INFO] [stdout] ops :: to_error_estimate [INFO] [stdout] IM IN HERE ops :: to_error_estimate [INFO] [stdout] 0x2f, dec = GenericFlagData :: decode [INFO] [stdout] GenericFlagData :: decode [INFO] [stdout] IM IN HERE GenericFlagData :: decode [INFO] [stdout] 0x30, dec = crate :: misb0102 :: Misb0102 :: decode [INFO] [stdout] crate :: misb0102 :: Misb0102 :: decode [INFO] [stdout] IM IN HERE crate :: misb0102 :: Misb0102 :: decode [INFO] [stdout] 0x31, dec = ops :: to_mbar_pressure [INFO] [stdout] ops :: to_mbar_pressure [INFO] [stdout] IM IN HERE ops :: to_mbar_pressure [INFO] [stdout] 0x32, dec = ops :: to_platform_pitch_angle [INFO] [stdout] ops :: to_platform_pitch_angle [INFO] [stdout] IM IN HERE ops :: to_platform_pitch_angle [INFO] [stdout] 0x33, dec = ops :: to_platform_vertical_speed [INFO] [stdout] ops :: to_platform_vertical_speed [INFO] [stdout] IM IN HERE ops :: to_platform_vertical_speed [INFO] [stdout] #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0601), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Seek`] for [`", stringify! (& [u8]), [INFO] [stdout] "`]")] impl :: tinyklv :: prelude :: Seek < & [u8] > for Misb0601 [INFO] [stdout] { [INFO] [stdout] fn seek < 'z > (input : & mut & 'z [u8]) -> :: tinyklv :: reexport :: [INFO] [stdout] winnow :: PResult < & 'z [u8] > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let packet_len = match :: tinyklv [INFO] [stdout] :: reexport :: winnow :: combinator :: seq! [INFO] [stdout] (_ : [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok(x) => x.0 as usize, Err(e) => return [INFO] [stdout] Err(e.backtrack().add_context(input, & checkpoint, :: tinyklv :: [INFO] [stdout] reexport :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("Unable to find recognition sentinal and packet length for initial parsing of `", [INFO] [stdout] stringify! (Misb0601), "` packet")))), [INFO] [stdout] }; :: tinyklv :: reexport :: winnow :: token :: [INFO] [stdout] take(packet_len).parse_next(input) [INFO] [stdout] } [INFO] [stdout] } #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0601), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Decode`] for [`", stringify! [INFO] [stdout] (& [u8]), "`]")] impl :: tinyklv :: prelude :: Decode < & [u8] > for Misb0601 [INFO] [stdout] { [INFO] [stdout] fn decode(input : & mut & [u8]) -> :: tinyklv :: reexport :: winnow :: [INFO] [stdout] PResult < Self > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let mut checksum : Option < u16 > [INFO] [stdout] = None; let mut precision_timestamp : Option < chrono :: DateTime < [INFO] [stdout] chrono :: Utc > > = None; let mut mission_id : Option < String > = [INFO] [stdout] None; let mut platform_tail_number : Option < String > = None; let mut [INFO] [stdout] platform_heading_angle : Option < f32 > = None; let mut [INFO] [stdout] platform_pitch_angle : Option < f32 > = None; let mut [INFO] [stdout] platform_roll_angle : Option < f32 > = None; let mut [INFO] [stdout] platform_true_airspeed : Option < u8 > = None; let mut [INFO] [stdout] platform_indicated_airspeed : Option < u8 > = None; let mut [INFO] [stdout] platform_designation : Option < String > = None; let mut [INFO] [stdout] image_source_sensor : Option < String > = None; let mut [INFO] [stdout] image_coordinate_system : Option < String > = None; let mut [INFO] [stdout] sensor_latitude : Option < f64 > = None; let mut sensor_longitude : [INFO] [stdout] Option < f64 > = None; let mut sensor_true_altitude : Option < f32 > = [INFO] [stdout] None; let mut sensor_hfov : Option < f32 > = None; let mut sensor_vfov [INFO] [stdout] : Option < f32 > = None; let mut sensor_relative_azimuth_angle : [INFO] [stdout] Option < f64 > = None; let mut sensor_relative_elevation_angle : [INFO] [stdout] Option < f64 > = None; let mut sensor_relative_roll_angle : Option < [INFO] [stdout] f64 > = None; let mut slant_range : Option < f64 > = None; let mut [INFO] [stdout] target_width : Option < f32 > = None; let mut frame_center_latitude : [INFO] [stdout] Option < f64 > = None; let mut frame_center_longitude : Option < f64 > [INFO] [stdout] = None; let mut frame_center_elevation : Option < f32 > = None; let [INFO] [stdout] mut offset_corner_lat_p1 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p1 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lat_p2 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p2 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lat_p3 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p3 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lat_p4 : Option < f32 > = None; let mut [INFO] [stdout] offset_corner_lon_p4 : Option < f32 > = None; let mut icing_detected : [INFO] [stdout] Option < Icing > = None; let mut wind_direction : Option < f32 > = [INFO] [stdout] None; let mut wind_speed : Option < f32 > = None; let mut [INFO] [stdout] static_pressure : Option < f32 > = None; let mut density_altitude : [INFO] [stdout] Option < f32 > = None; let mut outside_air_temperature : Option < i8 > [INFO] [stdout] = None; let mut target_location_latitude : Option < f64 > = None; let [INFO] [stdout] mut target_location_longitude : Option < f64 > = None; let mut [INFO] [stdout] target_location_elevation : Option < f32 > = None; let mut [INFO] [stdout] target_track_gate_width : Option < u16 > = None; let mut [INFO] [stdout] target_track_gate_height : Option < u16 > = None; let mut [INFO] [stdout] target_error_estimate_ce90 : Option < f32 > = None; let mut [INFO] [stdout] target_error_estimate_le90 : Option < f32 > = None; let mut [INFO] [stdout] generic_flag_data : Option < GenericFlagData > = None; let mut [INFO] [stdout] security_local_set : Option < crate :: misb0102 :: Misb0102 > = None; [INFO] [stdout] let mut differential_pressure : Option < f32 > = None; let mut [INFO] [stdout] platform_angle_of_attack : Option < f32 > = None; let mut [INFO] [stdout] platform_vertical_speed : Option < f32 > = None; loop [INFO] [stdout] { [INFO] [stdout] match [INFO] [stdout] (tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > , tinyklv [INFO] [stdout] :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok((key, len)) => match (key, len) [INFO] [stdout] { [INFO] [stdout] (0x01, _) => checksum = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_u16(input).ok(), (0x02, _) => precision_timestamp = [INFO] [stdout] ops :: to_precision_timestamp(input).ok(), (0x03, len) => [INFO] [stdout] mission_id = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x04, len) => [INFO] [stdout] platform_tail_number = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x05, _) => [INFO] [stdout] platform_heading_angle = ops :: [INFO] [stdout] to_platform_heading_angle(input).ok(), (0x06, _) => [INFO] [stdout] platform_pitch_angle = ops :: [INFO] [stdout] to_platform_pitch_angle(input).ok(), (0x07, _) => [INFO] [stdout] platform_roll_angle = ops :: [INFO] [stdout] to_platform_roll_angle(input).ok(), (0x08, _) => [INFO] [stdout] platform_true_airspeed = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_u8(input).ok(), (0x09, _) => [INFO] [stdout] platform_indicated_airspeed = tinyklv :: codecs :: binary :: [INFO] [stdout] dec :: be_u8(input).ok(), (0x0a, len) => [INFO] [stdout] platform_designation = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x0b, len) => [INFO] [stdout] image_source_sensor = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x0c, len) => [INFO] [stdout] image_coordinate_system = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: to_string_utf8(input, len).ok(), (0x0d, _) => [INFO] [stdout] sensor_latitude = ops :: to_lat(input).ok(), (0x0e, _) => [INFO] [stdout] sensor_longitude = ops :: to_lon(input).ok(), (0x0f, _) => [INFO] [stdout] sensor_true_altitude = ops :: to_alt(input).ok(), (0x10, _) [INFO] [stdout] => sensor_hfov = ops :: to_sensor_hvfov(input).ok(), [INFO] [stdout] (0x11, _) => sensor_vfov = ops :: [INFO] [stdout] to_sensor_hvfov(input).ok(), (0x12, _) => [INFO] [stdout] sensor_relative_azimuth_angle = ops :: [INFO] [stdout] to_sensor_relative_azimuth_angle(input).ok(), (0x13, _) => [INFO] [stdout] sensor_relative_elevation_angle = ops :: [INFO] [stdout] to_sensor_relative_elevation_angle(input).ok(), (0x14, _) => [INFO] [stdout] sensor_relative_roll_angle = ops :: [INFO] [stdout] to_sensor_relative_roll_angle(input).ok(), (0x15, _) => [INFO] [stdout] slant_range = ops :: to_slant_range(input).ok(), (0x16, _) [INFO] [stdout] => target_width = ops :: to_target_width(input).ok(), [INFO] [stdout] (0x17, _) => frame_center_latitude = ops :: [INFO] [stdout] to_lat(input).ok(), (0x18, _) => frame_center_longitude = [INFO] [stdout] ops :: to_lon(input).ok(), (0x19, _) => [INFO] [stdout] frame_center_elevation = ops :: to_alt(input).ok(), [INFO] [stdout] (0x1a, _) => offset_corner_lat_p1 = ops :: [INFO] [stdout] to_offset_ll(input).ok(), (0x1b, _) => offset_corner_lon_p1 [INFO] [stdout] = ops :: to_offset_ll(input).ok(), (0x1c, _) => [INFO] [stdout] offset_corner_lat_p2 = ops :: to_offset_ll(input).ok(), [INFO] [stdout] (0x1d, _) => offset_corner_lon_p2 = ops :: [INFO] [stdout] to_offset_ll(input).ok(), (0x1e, _) => offset_corner_lat_p3 [INFO] [stdout] = ops :: to_offset_ll(input).ok(), (0x1f, _) => [INFO] [stdout] offset_corner_lon_p3 = ops :: to_offset_ll(input).ok(), [INFO] [stdout] (0x20, _) => offset_corner_lat_p4 = ops :: [INFO] [stdout] to_offset_ll(input).ok(), (0x21, _) => offset_corner_lon_p4 [INFO] [stdout] = ops :: to_offset_ll(input).ok(), (0x22, _) => [INFO] [stdout] icing_detected = ops :: to_icing_detected(input).ok(), [INFO] [stdout] (0x23, _) => wind_direction = ops :: [INFO] [stdout] to_wind_direction(input).ok(), (0x24, _) => wind_speed = ops [INFO] [stdout] :: to_wind_speed(input).ok(), (0x25, _) => static_pressure = [INFO] [stdout] ops :: to_mbar_pressure(input).ok(), (0x26, _) => [INFO] [stdout] density_altitude = ops :: to_alt(input).ok(), (0x27, _) => [INFO] [stdout] outside_air_temperature = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_i8(input).ok(), (0x28, _) => target_location_latitude [INFO] [stdout] = ops :: to_lat(input).ok(), (0x29, _) => [INFO] [stdout] target_location_longitude = ops :: to_lon(input).ok(), [INFO] [stdout] (0x2a, _) => target_location_elevation = ops :: [INFO] [stdout] to_alt(input).ok(), (0x2b, _) => target_track_gate_width = [INFO] [stdout] ops :: to_target_track_gate_hw(input).ok(), (0x2c, _) => [INFO] [stdout] target_track_gate_height = ops :: [INFO] [stdout] to_target_track_gate_hw(input).ok(), (0x2d, _) => [INFO] [stdout] target_error_estimate_ce90 = ops :: [INFO] [stdout] to_error_estimate(input).ok(), (0x2e, _) => [INFO] [stdout] target_error_estimate_le90 = ops :: [INFO] [stdout] to_error_estimate(input).ok(), (0x2f, _) => [INFO] [stdout] generic_flag_data = GenericFlagData :: decode(input).ok(), [INFO] [stdout] (0x30, _) => security_local_set = crate :: misb0102 :: [INFO] [stdout] Misb0102 :: decode(input).ok(), (0x31, _) => [INFO] [stdout] differential_pressure = ops :: to_mbar_pressure(input).ok(), [INFO] [stdout] (0x32, _) => platform_angle_of_attack = ops :: [INFO] [stdout] to_platform_pitch_angle(input).ok(), (0x33, _) => [INFO] [stdout] platform_vertical_speed = ops :: [INFO] [stdout] to_platform_vertical_speed(input).ok(), (_, len) => [INFO] [stdout] { [INFO] [stdout] let _ = :: tinyklv :: reexport :: winnow :: token :: take :: [INFO] [stdout] < usize, & [u8], :: tinyklv :: reexport :: winnow :: error [INFO] [stdout] :: ContextError > (len).parse_next(input); [INFO] [stdout] }, [INFO] [stdout] }, Err(_) => break, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Ok(Misb0601 [INFO] [stdout] { [INFO] [stdout] checksum : [INFO] [stdout] checksum.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (checksum), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0601), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , precision_timestamp : [INFO] [stdout] precision_timestamp.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (precision_timestamp), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0601), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , mission_id, platform_tail_number, platform_heading_angle, [INFO] [stdout] platform_pitch_angle, platform_roll_angle, platform_true_airspeed, [INFO] [stdout] platform_indicated_airspeed, platform_designation, [INFO] [stdout] image_source_sensor, image_coordinate_system, sensor_latitude, [INFO] [stdout] sensor_longitude, sensor_true_altitude, sensor_hfov, sensor_vfov, [INFO] [stdout] sensor_relative_azimuth_angle, sensor_relative_elevation_angle, [INFO] [stdout] sensor_relative_roll_angle, slant_range, target_width, [INFO] [stdout] frame_center_latitude, frame_center_longitude, [INFO] [stdout] frame_center_elevation, offset_corner_lat_p1, [INFO] [stdout] offset_corner_lon_p1, offset_corner_lat_p2, offset_corner_lon_p2, [INFO] [stdout] offset_corner_lat_p3, offset_corner_lon_p3, offset_corner_lat_p4, [INFO] [stdout] offset_corner_lon_p4, icing_detected, wind_direction, wind_speed, [INFO] [stdout] static_pressure, density_altitude, outside_air_temperature, [INFO] [stdout] target_location_latitude, target_location_longitude, [INFO] [stdout] target_location_elevation, target_track_gate_width, [INFO] [stdout] target_track_gate_height, target_error_estimate_ce90, [INFO] [stdout] target_error_estimate_le90, generic_flag_data, security_local_set, [INFO] [stdout] differential_pressure, platform_angle_of_attack, [INFO] [stdout] platform_vertical_speed, [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] StructAttrSchema { stream: & [u8], sentinel: b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x01\x01\x00\x00\x00", key: enc: tinyklv :: codecs :: ber :: enc :: ber_oid, dec: tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 >, len: enc: tinyklv :: codecs :: ber :: enc :: ber_length, dec: tinyklv :: codecs :: ber :: dec :: ber_length, defaults: { [INFO] [stdout] ty: String, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, [INFO] [stdout] ty: u8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, [INFO] [stdout] ty: u16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, [INFO] [stdout] ty: i8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_i8, [INFO] [stdout] } } [INFO] [stdout] [name: checksum, contents: key: 0x01, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: precision_timestamp, contents: key: 0x02, dyn: None, enc: , dec: ops :: to_precision_timestamp, name: mission_id, contents: key: 0x03, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: platform_tail_number, contents: key: 0x04, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: platform_heading_angle, contents: key: 0x05, dyn: None, enc: , dec: ops :: to_platform_heading_angle, name: platform_pitch_angle, contents: key: 0x06, dyn: None, enc: , dec: ops :: to_platform_pitch_angle, name: platform_roll_angle, contents: key: 0x07, dyn: None, enc: , dec: ops :: to_platform_roll_angle, name: platform_true_airspeed, contents: key: 0x08, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: platform_indicated_airspeed, contents: key: 0x09, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: platform_designation, contents: key: 0x0a, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: image_source_sensor, contents: key: 0x0b, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: image_coordinate_system, contents: key: 0x0c, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: sensor_latitude, contents: key: 0x0d, dyn: None, enc: , dec: ops :: to_lat, name: sensor_longitude, contents: key: 0x0e, dyn: None, enc: , dec: ops :: to_lon, name: sensor_true_altitude, contents: key: 0x0f, dyn: None, enc: , dec: ops :: to_alt, name: sensor_hfov, contents: key: 0x10, dyn: None, enc: , dec: ops :: to_sensor_hvfov, name: sensor_vfov, contents: key: 0x11, dyn: None, enc: , dec: ops :: to_sensor_hvfov, name: sensor_relative_azimuth_angle, contents: key: 0x12, dyn: None, enc: , dec: ops :: to_sensor_relative_azimuth_angle, name: sensor_relative_elevation_angle, contents: key: 0x13, dyn: None, enc: , dec: ops :: to_sensor_relative_elevation_angle, name: sensor_relative_roll_angle, contents: key: 0x14, dyn: None, enc: , dec: ops :: to_sensor_relative_roll_angle, name: slant_range, contents: key: 0x15, dyn: None, enc: , dec: ops :: to_slant_range, name: target_width, contents: key: 0x16, dyn: None, enc: , dec: ops :: to_target_width, name: frame_center_latitude, contents: key: 0x17, dyn: None, enc: , dec: ops :: to_lat, name: frame_center_longitude, contents: key: 0x18, dyn: None, enc: , dec: ops :: to_lon, name: frame_center_elevation, contents: key: 0x19, dyn: None, enc: , dec: ops :: to_alt, name: offset_corner_lat_p1, contents: key: 0x1a, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p1, contents: key: 0x1b, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lat_p2, contents: key: 0x1c, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p2, contents: key: 0x1d, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lat_p3, contents: key: 0x1e, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p3, contents: key: 0x1f, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lat_p4, contents: key: 0x20, dyn: None, enc: , dec: ops :: to_offset_ll, name: offset_corner_lon_p4, contents: key: 0x21, dyn: None, enc: , dec: ops :: to_offset_ll, name: icing_detected, contents: key: 0x22, dyn: None, enc: , dec: ops :: to_icing_detected, name: wind_direction, contents: key: 0x23, dyn: None, enc: , dec: ops :: to_wind_direction, name: wind_speed, contents: key: 0x24, dyn: None, enc: , dec: ops :: to_wind_speed, name: static_pressure, contents: key: 0x25, dyn: None, enc: , dec: ops :: to_mbar_pressure, name: density_altitude, contents: key: 0x26, dyn: None, enc: , dec: ops :: to_alt, name: outside_air_temperature, contents: key: 0x27, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_i8, name: target_location_latitude, contents: key: 0x28, dyn: None, enc: , dec: ops :: to_lat, name: target_location_longitude, contents: key: 0x29, dyn: None, enc: , dec: ops :: to_lon, name: target_location_elevation, contents: key: 0x2a, dyn: None, enc: , dec: ops :: to_alt, name: target_track_gate_width, contents: key: 0x2b, dyn: None, enc: , dec: ops :: to_target_track_gate_hw, name: target_track_gate_height, contents: key: 0x2c, dyn: None, enc: , dec: ops :: to_target_track_gate_hw, name: target_error_estimate_ce90, contents: key: 0x2d, dyn: None, enc: , dec: ops :: to_error_estimate, name: target_error_estimate_le90, contents: key: 0x2e, dyn: None, enc: , dec: ops :: to_error_estimate, name: generic_flag_data, contents: key: 0x2f, dyn: None, enc: , dec: GenericFlagData :: decode, name: security_local_set, contents: key: 0x30, dyn: None, enc: , dec: crate :: misb0102 :: Misb0102 :: decode, name: differential_pressure, contents: key: 0x31, dyn: None, enc: , dec: ops :: to_mbar_pressure, name: platform_angle_of_attack, contents: key: 0x32, dyn: None, enc: , dec: ops :: to_platform_pitch_angle, name: platform_vertical_speed, contents: key: 0x33, dyn: None, enc: , dec: ops :: to_platform_vertical_speed] [INFO] [stdout] & [u8], sentinel = [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", [INFO] [stdout] key(enc = tinyklv::codecs::ber::enc::ber_oid, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_oid::), [INFO] [stdout] len(enc = tinyklv::codecs::ber::enc::ber_length, dec = [INFO] [stdout] tinyklv::codecs::ber::dec::ber_length), [INFO] [stdout] default(ty = u8, dec = tinyklv::codecs::binary::dec::be_u8), [INFO] [stdout] default(ty = u16, dec = tinyklv::codecs::binary::dec::be_u16), [INFO] [stdout] default(ty = i8, dec = tinyklv::codecs::binary::dec::be_i8), [INFO] [stdout] default(ty = String, dec = tinyklv::codecs::binary::dec::to_string_utf8, dyn = [INFO] [stdout] true), [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_oid, dec = tinyklv :: codecs :: ber :: [INFO] [stdout] dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_oid ::< u64 > [INFO] [stdout] tinyklv :: codecs :: ber :: enc :: ber_length, dec = tinyklv :: codecs :: ber [INFO] [stdout] :: dec :: ber_length [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] u8, dec = tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] u16, dec = tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] i8, dec = tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] String, dec = tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: to_string_utf8, dyn = true [INFO] [stdout] true [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_oid [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: enc :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: ber :: dec :: ber_length [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_u16 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: be_i8 [INFO] [stdout] IM IN HERE tinyklv :: codecs :: binary :: dec :: to_string_utf8 [INFO] [stdout] 0x01 [INFO] [stdout] 0x02, dec = crate :: misb0601 :: ops :: to_precision_timestamp [INFO] [stdout] crate :: misb0601 :: ops :: to_precision_timestamp [INFO] [stdout] IM IN HERE crate :: misb0601 :: ops :: to_precision_timestamp [INFO] [stdout] 0x03 [INFO] [stdout] 0x04 [INFO] [stdout] 0x05 [INFO] [stdout] 0x06 [INFO] [stdout] 0x08 [INFO] [stdout] 0x09 [INFO] [stdout] 0x0A [INFO] [stdout] #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0903), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Seek`] for [`", stringify! (& [u8]), [INFO] [stdout] "`]")] impl :: tinyklv :: prelude :: Seek < & [u8] > for Misb0903 [INFO] [stdout] { [INFO] [stdout] fn seek < 'z > (input : & mut & 'z [u8]) -> :: tinyklv :: reexport :: [INFO] [stdout] winnow :: PResult < & 'z [u8] > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let packet_len = match :: tinyklv [INFO] [stdout] :: reexport :: winnow :: combinator :: seq! [INFO] [stdout] (_ : [INFO] [stdout] b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", [INFO] [stdout] tinyklv :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok(x) => x.0 as usize, Err(e) => return [INFO] [stdout] Err(e.backtrack().add_context(input, & checkpoint, :: tinyklv :: [INFO] [stdout] reexport :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("Unable to find recognition sentinal and packet length for initial parsing of `", [INFO] [stdout] stringify! (Misb0903), "` packet")))), [INFO] [stdout] }; :: tinyklv :: reexport :: winnow :: token :: [INFO] [stdout] take(packet_len).parse_next(input) [INFO] [stdout] } [INFO] [stdout] } #[automatically_derived] [INFO] [stdout] #[doc = concat! [INFO] [stdout] (" [`", stringify! (Misb0903), [INFO] [stdout] "`] implementation of [`tinyklv::prelude::Decode`] for [`", stringify! [INFO] [stdout] (& [u8]), "`]")] impl :: tinyklv :: prelude :: Decode < & [u8] > for Misb0903 [INFO] [stdout] { [INFO] [stdout] fn decode(input : & mut & [u8]) -> :: tinyklv :: reexport :: winnow :: [INFO] [stdout] PResult < Self > [INFO] [stdout] { [INFO] [stdout] let checkpoint = input.checkpoint(); let mut checksum : Option < u16 > [INFO] [stdout] = None; let mut precision_timestamp : Option < chrono :: DateTime < [INFO] [stdout] chrono :: Utc > > = None; let mut vmti_system_name : Option < String > [INFO] [stdout] = None; let mut vmti_ls_version : Option < u8 > = None; let mut [INFO] [stdout] total_num_targets_detected : Option < u8 > = None; let mut [INFO] [stdout] num_targets_reported : Option < u8 > = None; let mut frame_width : [INFO] [stdout] Option < u16 > = None; let mut frame_height : Option < u16 > = None; [INFO] [stdout] let mut vmti_source_sensor : Option < String > = None; loop [INFO] [stdout] { [INFO] [stdout] match [INFO] [stdout] (tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 > , tinyklv [INFO] [stdout] :: codecs :: ber :: dec :: ber_length,).parse_next(input) [INFO] [stdout] { [INFO] [stdout] Ok((key, len)) => match (key, len) [INFO] [stdout] { [INFO] [stdout] (0x01, _) => checksum = tinyklv :: codecs :: binary :: dec [INFO] [stdout] :: be_u16(input).ok(), (0x02, _) => precision_timestamp = [INFO] [stdout] crate :: misb0601 :: ops :: [INFO] [stdout] to_precision_timestamp(input).ok(), (0x03, len) => [INFO] [stdout] vmti_system_name = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (0x04, _) => [INFO] [stdout] vmti_ls_version = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] be_u8(input).ok(), (0x05, _) => total_num_targets_detected = [INFO] [stdout] tinyklv :: codecs :: binary :: dec :: be_u8(input).ok(), [INFO] [stdout] (0x06, _) => num_targets_reported = tinyklv :: codecs :: [INFO] [stdout] binary :: dec :: be_u8(input).ok(), (0x08, _) => frame_width [INFO] [stdout] = tinyklv :: codecs :: binary :: dec :: be_u16(input).ok(), [INFO] [stdout] (0x09, _) => frame_height = tinyklv :: codecs :: binary :: [INFO] [stdout] dec :: be_u16(input).ok(), (0x0A, len) => vmti_source_sensor [INFO] [stdout] = tinyklv :: codecs :: binary :: dec :: [INFO] [stdout] to_string_utf8(input, len).ok(), (_, len) => [INFO] [stdout] { [INFO] [stdout] let _ = :: tinyklv :: reexport :: winnow :: token :: take :: [INFO] [stdout] < usize, & [u8], :: tinyklv :: reexport :: winnow :: error [INFO] [stdout] :: ContextError > (len).parse_next(input); [INFO] [stdout] }, [INFO] [stdout] }, Err(_) => break, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] Ok(Misb0903 [INFO] [stdout] { [INFO] [stdout] checksum, precision_timestamp, vmti_system_name, vmti_ls_version, [INFO] [stdout] total_num_targets_detected, num_targets_reported : [INFO] [stdout] num_targets_reported.ok_or_else(|| [INFO] [stdout] { [INFO] [stdout] :: tinyklv :: reexport :: winnow :: error :: ErrMode :: [INFO] [stdout] Backtrack(:: tinyklv :: reexport :: winnow :: error :: [INFO] [stdout] ContextError :: [INFO] [stdout] new().add_context(input, & checkpoint, :: tinyklv :: reexport [INFO] [stdout] :: winnow :: error :: StrContext :: [INFO] [stdout] Label(concat! [INFO] [stdout] ("`", stringify! (num_targets_reported), [INFO] [stdout] "` is a required value missing from the `", stringify! [INFO] [stdout] (Misb0903), [INFO] [stdout] "` packet. To prevent this, set this field as optional.")))) [INFO] [stdout] }) ? , frame_width, frame_height, vmti_source_sensor, [INFO] [stdout] }) [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] StructAttrSchema { stream: & [u8], sentinel: b"\x06\x0E\x2B\x34\x02\x0B\x01\x01\x0E\x01\x03\x03\x06\x00\x00\x00", key: enc: tinyklv :: codecs :: ber :: enc :: ber_oid, dec: tinyklv :: codecs :: ber :: dec :: ber_oid :: < u64 >, len: enc: tinyklv :: codecs :: ber :: enc :: ber_length, dec: tinyklv :: codecs :: ber :: dec :: ber_length, defaults: { [INFO] [stdout] ty: String, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, [INFO] [stdout] ty: u8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, [INFO] [stdout] ty: u16, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, [INFO] [stdout] ty: i8, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_i8, [INFO] [stdout] } } [INFO] [stdout] [name: checksum, contents: key: 0x01, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: precision_timestamp, contents: key: 0x02, dyn: None, enc: , dec: crate :: misb0601 :: ops :: to_precision_timestamp, name: vmti_system_name, contents: key: 0x03, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8, name: vmti_ls_version, contents: key: 0x04, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: total_num_targets_detected, contents: key: 0x05, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: num_targets_reported, contents: key: 0x06, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u8, name: frame_width, contents: key: 0x08, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: frame_height, contents: key: 0x09, dyn: None, enc: , dec: tinyklv :: codecs :: binary :: dec :: be_u16, name: vmti_source_sensor, contents: key: 0x0A, dyn: Some(true), enc: , dec: tinyklv :: codecs :: binary :: dec :: to_string_utf8] [INFO] [stdout] warning: unused import: `chrono::TimeZone` [INFO] [stdout] --> src/dec.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use chrono::TimeZone; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winnow::prelude::*` [INFO] [stdout] --> src/dec.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use winnow::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winnow::stream::Stream` [INFO] [stdout] --> src/dec.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use winnow::stream::Stream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `winnow::error::AddContext` [INFO] [stdout] --> src/dec.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use winnow::error::AddContext; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min`, `max`, `precision`, and `imapb` are never read [INFO] [stdout] --> src/misb1201.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct ImapA [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | min: T, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | max: T, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | precision: T, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 32 | /// The [`ImapB`], once the length, in bytes, is known [INFO] [stdout] 33 | imapb: ImapB, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `b_pow`, `d_pow`, and `s_r` are never read [INFO] [stdout] --> src/misb1201.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct ImapB [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 100 | b_pow: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 101 | /// Power of 2 adjustment - only used internally [INFO] [stdout] 102 | d_pow: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | s_r: T, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `F32_BIT_MASK` is never used [INFO] [stdout] --> src/misb1201.rs:503:7 [INFO] [stdout] | [INFO] [stdout] 503 | const F32_BIT_MASK: usize = 23; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `F64_BIT_MASK` is never used [INFO] [stdout] --> src/misb1201.rs:504:7 [INFO] [stdout] | [INFO] [stdout] 504 | const F64_BIT_MASK: usize = 52; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply_by_power_of_two_f32` is never used [INFO] [stdout] --> src/misb1201.rs:488:8 [INFO] [stdout] | [INFO] [stdout] 488 | fn multiply_by_power_of_two_f32(value: f32, exponent: usize) -> f32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `multiply_by_power_of_two_f64` is never used [INFO] [stdout] --> src/misb1201.rs:495:8 [INFO] [stdout] | [INFO] [stdout] 495 | fn multiply_by_power_of_two_f64(value: f64, exponent: usize) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 12 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `min`, `max`, `precision`, and `imapb` are never read [INFO] [stdout] --> src/misb1201.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct ImapA [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 23 | min: T, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | max: T, [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | precision: T, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 32 | /// The [`ImapB`], once the length, in bytes, is known [INFO] [stdout] 33 | imapb: ImapB, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `b_pow`, `d_pow`, and `s_r` are never read [INFO] [stdout] --> src/misb1201.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct ImapB [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 100 | b_pow: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 101 | /// Power of 2 adjustment - only used internally [INFO] [stdout] 102 | d_pow: usize, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | s_r: T, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `F32_BIT_MASK` is never used [INFO] [stdout] --> src/misb1201.rs:503:7 [INFO] [stdout] | [INFO] [stdout] 503 | const F32_BIT_MASK: usize = 23; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `F64_BIT_MASK` is never used [INFO] [stdout] --> src/misb1201.rs:504:7 [INFO] [stdout] | [INFO] [stdout] 504 | const F64_BIT_MASK: usize = 52; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UHL` is never used [INFO] [stdout] --> src/main.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const UHL: &'static [u8] = &[0x06, 0x0E, 0x2B, 0x34, 0x02, 0x0B, 0x01, 0x01, 0x0E, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00]; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `uhl_take` is never used [INFO] [stdout] --> src/main.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn uhl_take<'a>(input: &mut &'a [u8]) -> winnow::PResult<&'a [u8]> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::Rng` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use rand::Rng; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `UHL` is never used [INFO] [stdout] --> src/main.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const UHL: &'static [u8] = &[0x06, 0x0E, 0x2B, 0x34, 0x02, 0x0B, 0x01, 0x01, 0x0E, 0x01, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00]; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `uhl_take` is never used [INFO] [stdout] --> src/main.rs:7:4 [INFO] [stdout] | [INFO] [stdout] 7 | fn uhl_take<'a>(input: &mut &'a [u8]) -> winnow::PResult<&'a [u8]> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 3 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.88s [INFO] running `Command { std: "docker" "inspect" "10a896a7640bd069deb3603d82a11004a7ad5a0d2aff37f5e6f3bd27188bc0cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "10a896a7640bd069deb3603d82a11004a7ad5a0d2aff37f5e6f3bd27188bc0cd", kill_on_drop: false }` [INFO] [stdout] 10a896a7640bd069deb3603d82a11004a7ad5a0d2aff37f5e6f3bd27188bc0cd