#[non_exhaustive]pub enum Amf0Value {
Number(f64),
Boolean(bool),
String(String),
Object(Vec<(String, Amf0Value)>),
Null,
Undefined,
EcmaArray(Vec<(String, Amf0Value)>),
StrictArray(Vec<Amf0Value>),
Date(f64),
LongString(String),
}Expand description
A single AMF0 value ([AMF0] §2, docs/rtmp.md §8.2).
AMF3 (avmplus-object-marker, 0x11) and the reserved/legacy markers
(movieclip, reference, unsupported, recordset, xml-document,
typed-object) are out of scope — see the module doc.
#[non_exhaustive]: this models a documented subset of [AMF0] §2’s
value types (see the module doc’s Scope section); a future release may
add a variant for one of the currently-Unsupported markers (e.g. a
typed AMF3 bridge) without that being a breaking change for existing
match callers.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Number(f64)
Number (§2.2).
Boolean(bool)
Boolean (§2.3).
String(String)
String (§2.4): U16-length UTF-8, at most 65535 bytes.
Object(Vec<(String, Amf0Value)>)
Object (§2.5): ordered key/value pairs.
Null
null (§2.7).
Undefined
undefined (§2.8).
EcmaArray(Vec<(String, Amf0Value)>)
ECMA Array (§2.10): an associative array, encoded like Object plus a
leading (informational) U32 count.
StrictArray(Vec<Amf0Value>)
Strict Array (§2.12): an ordinal array of values.
Date(f64)
Date (§2.13): milliseconds since the Unix epoch, UTC.
LongString(String)
Long String (§2.14): U32-length UTF-8, for strings over 65535
bytes.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Amf0Value
Available on crate feature serde only.
impl<'de> Deserialize<'de> for Amf0Value
serde only.Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for Amf0Value
impl Serialize for Amf0Value
Source§type Error = RtmpError
type Error = RtmpError
Parse impl, but need not be).Source§fn serialized_len(&self) -> usize
fn serialized_len(&self) -> usize
serialize_into will write.