pub fn from_bytes<'de, T>(b: &'de [u8]) -> Result<T>where
T: Deserialize<'de>,Expand description
Deserialize an instance of type T from a bencode byte vector.
§Examples
use serde_derive::{Serialize, Deserialize};
#[derive(Serialize, Deserialize, PartialEq, Eq, Debug)]
struct Address {
street: String,
city: String,
}
let encoded = "d4:city18:Duckburg, Calisota6:street17:1313 Webfoot Walke".as_bytes();
let decoded: Address = serde_bencode::from_bytes(&encoded)?;
assert_eq!(
decoded,
Address {
street: "1313 Webfoot Walk".to_string(),
city: "Duckburg, Calisota".to_string(),
}
);§Errors
This conversion can fail if the input bencode is improperly formatted or if the structure of
the input does not match the structure expected by T. It can also fail if T’s
implementation of Deserialize decides to fail.