amf-rs 0.1.0

🦀 Rust implementation of Action Message Format (AMF) protocol.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::errors::AmfError;

pub trait Marshall {
    fn marshall(&self) -> Result<Vec<u8>, AmfError>;
}

pub trait MarshallLength {
    fn marshall_length(&self) -> usize;
}

pub trait Unmarshall: Sized {
    fn unmarshall(buf: &[u8]) -> Result<(Self, usize), AmfError>;
}

pub trait AmfType: Marshall + MarshallLength + Unmarshall {}

impl<T: Marshall + MarshallLength + Unmarshall> AmfType for T {}