[−][src]Crate cdr
A serialization/deserialization implementation for Common Data Representation.
Examples
use cdr::{CdrBe, Infinite}; use serde_derive::{Deserialize, Serialize}; #[derive(Deserialize, Serialize, PartialEq)] struct Point { x: f64, y: f64, } #[derive(Deserialize, Serialize, PartialEq)] struct Polygon(Vec<Point>); fn main() { let triangle = Polygon(vec![Point { x: -1.0, y: -1.0 }, Point { x: 1.0, y: -1.0 }, Point { x: 0.0, y: 0.73 }]); let encoded = cdr::serialize::<_, _, CdrBe>(&triangle, Infinite).unwrap(); let decoded = cdr::deserialize::<Polygon>(&encoded[..]).unwrap(); assert!(triangle == decoded); }
Modules
| de | Deserializing CDR into Rust data types. |
| ser | Serializing Rust data types into CDR. |
| size | Measuring the size of (de)serialized data. |
Structs
| Bounded | A |
| Deserializer | A deserializer that reads bytes from a buffer. |
| Infinite | A |
| Serializer | A serializer that writes values into a buffer. |
Enums
| BigEndian | Defines big-endian serialization. |
| CdrBe | OMG CDR big-endian encapsulation. |
| CdrLe | OMG CDR little-endian encapsulation. |
| Error | The Error type. |
| LittleEndian | Defines little-endian serialization. |
| PlCdrBe | ParameterList encapsulated using OMG CDR big-endian encapsulation. |
| PlCdrLe | ParameterList encapsulated using OMG CDR little-endian encapsulation. |
Traits
| Encapsulation | Data encapsulation scheme identifiers. |
| SizeLimit | Limits on the number of bytes that can be read or written. |
Functions
| calc_serialized_size | Returns the size that an object would be if serialized with a encapsulation. |
| calc_serialized_size_bounded | Given a maximum size limit, check how large an object would be if it were to be serialized with a encapsulation. |
| deserialize | Deserializes a slice of bytes into an object. |
| deserialize_from | Deserializes an object directly from a |
| serialize | Serializes a serializable object into a |
| serialize_into | Serializes an object directly into a |
Type Definitions
| Result | Convenient wrapper around |