scuffle_amf0/
lib.rs

1//! A pure-rust implementation of AMF0 encoder and decoder.
2//!
3//! This crate provides a simple interface for encoding and decoding AMF0 data.
4//!
5//! # Examples
6//!
7//! ```rust
8//! # fn test() -> Result<(), Box<dyn std::error::Error>> {
9//! use scuffle_amf0::Amf0Decoder;
10//! use scuffle_amf0::Amf0Encoder;
11//! # let bytes = &[0x01, 0x01];
12//! # let mut writer = Vec::new();
13//!
14//! // Create a new decoder
15//! let mut reader = Amf0Decoder::new(bytes);
16//! let value = reader.decode()?;
17//!
18//! // .. do something with the value
19//!
20//! // Encode a value into a writer
21//! Amf0Encoder::encode(&mut writer, &value)?;
22//!
23//! # assert_eq!(writer, bytes);
24//! # Ok(())
25//! # }
26//! # test().expect("test failed");
27//! ```
28#![cfg_attr(all(coverage_nightly, test), feature(coverage_attribute))]
29
30mod decode;
31mod define;
32mod encode;
33mod errors;
34
35pub use crate::decode::Amf0Decoder;
36pub use crate::define::{Amf0Marker, Amf0Value};
37pub use crate::encode::Amf0Encoder;
38pub use crate::errors::{Amf0ReadError, Amf0WriteError};