Expand description
LibParcel-1.0 wire-format codec; Rust counterpart of the pure-Lua packages/LibParcel-1.0/.
use wowlab_parsers::parcel::{Codec, CodecConfig};
let codec = Codec::new(CodecConfig {
prefix: "!DEMO:1!".into(),
content_types: vec!["json".into()],
default_content_type: None,
max_encoded_len: None,
max_decoded_body: None,
max_payload_bytes: None,
}).expect("static config");
let encoded = codec.encode(b"{\"hello\":1}", None).unwrap();
let decoded = codec.decode(&encoded).unwrap();
assert_eq!(decoded.payload, b"{\"hello\":1}");Re-exportsยง
pub use codec::Codec;pub use codec::CodecConfig;pub use codec::DEFAULT_MAX_DECODED_BODY;pub use codec::DEFAULT_MAX_ENCODED_LEN;pub use codec::DEFAULT_MAX_PAYLOAD_BYTES;pub use codec::DecodeMeta;pub use codec::DecodedParcel;pub use errors::CodecBuildError;pub use errors::ParcelError;pub use payload::DecodeExportError;pub use payload::EncodeExportError;pub use payload::ExportKind;pub use payload::RESULT_EXPORT_CONTENT_TYPE;pub use payload::RESULT_EXPORT_PREFIX;pub use payload::RESULT_EXPORT_SCHEMA_VERSION;pub use payload::ResultExport;pub use payload::ResultItem;pub use payload::decode_result_export;pub use payload::encode_result_export;pub use payload::result_export_codec;
Modulesยง
- base64 ๐
- Strict standard-base64 helpers (SPEC ยง1.3: canonical alphabet, required padding, no trailing bits).
- codec ๐
- LibParcel-1.0 envelope codec; raw DEFLATE body, CRC-32 of the raw payload.
- crc32 ๐
- CRC-32 helper (IEEE 802.3 / zlib polynomial
0xEDB88320, per SPEC ยง3). - errors ๐
- Canonical error codes matching
SPEC.mdยง7 byte-for-byte. - payload ๐
- JSON payload schema for shipping Best-in-Bag and Droptimizer results to a
WoWaddon.