Expand description

This crate provides functionality for serializing and deserializing data based on the Adobe AMF0 encoding specification located at https://wwwimages2.adobe.com/content/dam/acom/en/devnet/pdf/amf0-file-format-specification.pdf

Examples

use std::io::Cursor;
use std::collections::HashMap;
use rml_amf0::{Amf0Value, serialize, deserialize};

// Put some data into the Amf0Value types
let mut properties = HashMap::new();
properties.insert("app".to_string(), Amf0Value::Number(99.0));
properties.insert("second".to_string(), Amf0Value::Utf8String("test".to_string()));

let value1 = Amf0Value::Number(32.0);
let value2 = Amf0Value::Boolean(true);
let object = Amf0Value::Object(properties);
        
let input = vec![value1, object, value2];        

// Serialize the values into a vector of bytes
let serialized_data = serialize(&input).unwrap();

// Deserialize the vector of bytes back into Amf0Value types
let mut serialized_cursor = Cursor::new(serialized_data);
let results = deserialize(&mut serialized_cursor).unwrap();

assert_eq!(input, results);

Enums

Errors that can occur during the deserialization process

Errors raised during to the serialization process

An Enum representing the different supported types of Amf0 values

Functions

Turns any readable byte stream and converts it into an array of AMF0 values

Serializes values into an amf0 encoded vector of bytes