pub fn deserialize<'de, D>(deserializer: D) -> Result<u64, D::Error>where
D: Deserializer<'de>,Expand description
Deserialize a given integer or SI prefixed packet-rate string into an u64.
Enabling the serde feature allows the use of #[serde(deserialize_with = "bity::pps::deserialize")] and #[serde(with = "bity::pps")] attributes.
#[derive(Deserialize, PartialEq, Debug)]
#[serde(rename_all = "kebab-case")]
struct Config {
#[serde(with = "bity::pps")]
bandwidth: u64,
#[serde(deserialize_with = "bity::pps::deserialize")]
nic: u64,
#[serde(deserialize_with = "bity::pps::deserialize")]
highest: u64,
}
assert_eq!(
toml::from_str::<Config>(
r#"
bandwidth = "5.1Mp/s"
nic = "180kp"
highest = 12_000
"#
)
.unwrap(),
Config {
bandwidth: 5_100_000,
nic: 180_000,
highest: 12_000,
}
);