Crate serde_xdr [−] [src]
XDR serialization and deserialization for Serde.
This crate implements serialization to and deserialization from the External Data Representation Standard (XDR) using the Serde serialization and deserialization framework.
Usage is mainly through the helper functions:
Examples
extern crate serde_xdr; #[macro_use] extern crate serde_derive; use std::io::Cursor; use serde_xdr::VariableLengthOpaqueData; use serde_xdr::{from_reader, to_writer}; #[derive(Debug, Deserialize, Eq, PartialEq, Serialize)] enum FileType { Text, Data(String), Exec(String), } #[derive(Debug, Deserialize, Eq, PartialEq, Serialize)] struct File { filename: String, filetype: FileType, owner: String, data: VariableLengthOpaqueData, } fn main() { let file_contents: Vec<u8> = "(quit)".as_bytes().into(); let initial_file = File { filename: "sillyprog".to_string(), filetype: FileType::Exec("lisp".to_string()), owner: "john".to_string(), data: file_contents.into(), }; // Serialize let mut bytes = Vec::new(); to_writer(&mut bytes, &initial_file).unwrap(); // Deserialize let mut cursor = Cursor::new(bytes); let recovered_file = from_reader(&mut cursor).unwrap(); assert_eq!(initial_file, recovered_file); }
Structs
Deserializer |
Deserializer for the XDR format. |
Error |
The Error type. |
Serializer |
Serializer for the XDR format. |
VariableLengthOpaqueData |
Representation of variable-length opaque data. |
Enums
ErrorKind |
The kind of an error. |
Functions
from_reader |
Deserializes data from a generic reader. |
to_bytes |
Serialize data into a vector of bytes. |
to_writer |
Serialize data through a generic writer. |
Type Definitions
Result |
Convenient wrapper around |