to_bytes

Function to_bytes 

Source
pub fn to_bytes<T>(value: &T) -> Result<Vec<u8>, Error>
where T: Serialize,
Expand description

Serialize a value into bytes.

ยงExamples

// Bring serde Serialize/Deserialize derivable traits into scope.
use serde::Serialize;

// Define custom struct.
#[derive(Serialize)]
struct MyStruct {
    name: String,
    score: u32,
}

// Create value to serialize.
let value = MyStruct {
   name: "Ferris".to_owned(),
   score: 42,
};

// Serialize value into bytes.
let bytes = shaft::to_bytes(&value).expect("serialization error");
Examples found in repository?
examples/main.rs (line 23)
15fn main() -> Result<(), Box<dyn Error>> {
16    // Create value to serialize.
17    let value = MyStruct {
18        name: "Ferris".to_owned(),
19        score: 42,
20    };
21
22    // Serialize value to bytes.
23    let bytes = shaft::to_bytes(&value)?;
24
25    // Export value to file.
26    fs::write("value.bin", bytes)?;
27
28    // Retrieve bytes from file.
29    let bytes = fs::read("value.bin")?;
30
31    // Deserialize value from bytes.
32    let value: MyStruct = shaft::from_bytes(&bytes)?;
33
34    // Check struct fields.
35    assert_eq!(value.name, "Ferris");
36    assert_eq!(value.score, 42);
37
38    // Clean file.
39    fs::remove_file("value.bin")?;
40
41    Ok(())
42}