From 760a56964f2aa369395a85731d26a1954436fa3c Mon Sep 17 00:00:00 2001 From: Rob Walker Date: Mon, 30 Dec 2019 16:45:43 -0800 Subject: [PATCH] delete fixed_buf (#7644) --- Cargo.lock | 9 --- Cargo.toml | 1 - fixed-buf/.gitignore | 2 - fixed-buf/Cargo.toml | 19 ------ fixed-buf/src/lib.rs | 142 ------------------------------------------- 5 files changed, 173 deletions(-) delete mode 100644 fixed-buf/.gitignore delete mode 100644 fixed-buf/Cargo.toml delete mode 100644 fixed-buf/src/lib.rs diff --git a/Cargo.lock b/Cargo.lock index 74cb29901a..88790ec110 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3484,15 +3484,6 @@ dependencies = [ "tokio-codec 0.1.1 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "solana-fixed-buf" -version = "0.23.0" -dependencies = [ - "bincode 1.2.1 (registry+https://github.com/rust-lang/crates.io-index)", - "serde 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_derive 1.0.104 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "solana-genesis" version = "0.23.0" diff --git a/Cargo.toml b/Cargo.toml index 9d834593e4..ac80ab09f3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -45,7 +45,6 @@ members = [ "sys-tuner", "upload-perf", "net-utils", - "fixed-buf", "vote-signer", "cli", "rayon-threadlimit", diff --git a/fixed-buf/.gitignore b/fixed-buf/.gitignore deleted file mode 100644 index 5404b132db..0000000000 --- a/fixed-buf/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/target/ -/farf/ diff --git a/fixed-buf/Cargo.toml b/fixed-buf/Cargo.toml deleted file mode 100644 index 0b5d36ba25..0000000000 --- a/fixed-buf/Cargo.toml +++ /dev/null @@ -1,19 +0,0 @@ -[package] -name = "solana-fixed-buf" -version = "0.23.0" -description = "A fixed-size byte array that supports bincode serde" -authors = ["Solana Maintainers "] -repository = "https://github.com/solana-labs/solana" -license = "Apache-2.0" -homepage = "https://solana.com/" -edition = "2018" - -[dependencies] -bincode = "1.2.1" -serde = "1.0.104" - -[lib] -name = "solana_fixed_buf" - -[dev-dependencies] -serde_derive = "1.0.103" diff --git a/fixed-buf/src/lib.rs b/fixed-buf/src/lib.rs deleted file mode 100644 index 4903a68cc5..0000000000 --- a/fixed-buf/src/lib.rs +++ /dev/null @@ -1,142 +0,0 @@ -//! ser- and deser-ialize-able, fixed-size bufs - -#[macro_export] -macro_rules! fixed_buf { - ($name:ident, $size:expr) => { - fixed_buf!($name, $size, 12); - }; - ($name:ident, $size:expr, $max_print: expr) => { - pub struct $name { - _inner: [u8; $size], - } - - impl Default for $name { - fn default() -> Self { - $name { _inner: [0; $size] } - } - } - - impl PartialEq for $name { - fn eq(&self, other: &Self) -> bool { - self.iter().zip(other.iter()).all(|(me, other)| me == other) - } - } - impl Eq for $name {} - - impl std::ops::Deref for $name { - type Target = [u8; $size]; - fn deref(&self) -> &Self::Target { - &self._inner - } - } - - impl std::ops::DerefMut for $name { - fn deref_mut(&mut self) -> &mut Self::Target { - &mut self._inner - } - } - - impl std::fmt::Debug for $name { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "[{}", self[0])?; - for i in 1..self.len().min($max_print) { - write!(f, ", {}", self[i])?; - } - if $max_print < self.len() { - write!(f, ", ...")?; - } - write!(f, "]") - } - } - - impl<'de> serde::Deserialize<'de> for $name { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct Visitor; - impl<'de> serde::de::Visitor<'de> for Visitor { - type Value = $name; - - fn expecting(&self, formatter: &mut std::fmt::Formatter) -> std::fmt::Result { - formatter.write_str(stringify!($name)) - } - fn visit_bytes(self, bytes: &[u8]) -> Result - where - E: serde::de::Error, - { - if bytes.len() != $size { - Err(serde::de::Error::invalid_length( - bytes.len(), - &stringify!($size), - ))? - } - let mut buf = $name::default(); - buf.copy_from_slice(bytes); - - Ok(buf) - } - } - deserializer.deserialize_bytes(Visitor) - } - } - - impl serde::ser::Serialize for $name { - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::ser::Serializer, - { - serializer.serialize_bytes(&self._inner) - } - } - }; -} - -#[cfg(test)] -mod test { - use serde_derive::{Deserialize, Serialize}; - - fixed_buf!(BufMath, 33); - - #[derive(Debug, Default, Serialize, Deserialize, PartialEq, Eq)] - pub struct Foo { - pub foo: u64, - pub buf: BufMath, - } - - fixed_buf!(Buf34, 34, 35); // print even more than is present! - - #[derive(Debug, Default, Serialize, Deserialize, PartialEq, Eq)] - pub struct Foo34 { - pub foo: u64, - pub buf: Buf34, - } - - #[test] - fn test() { - let mut foo = Foo { - foo: 33, - ..Foo::default() - }; - foo.buf[1] = 127; - let ser = bincode::serialize(&foo).unwrap(); - assert_eq!(bincode::deserialize::(&ser).unwrap(), foo); - - assert_eq!( - format!("{:?}", foo), - "Foo { foo: 33, buf: [0, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ...] }" - ); - - let mut foo = Foo34 { - foo: 34, - ..Foo34::default() - }; - foo.buf[1] = 128; - let ser = bincode::serialize(&foo).unwrap(); - assert_eq!(bincode::deserialize::(&ser).unwrap(), foo); - - assert!(bincode::deserialize::(&ser).is_err()); - - assert_eq!(format!("{:?}", foo), "Foo34 { foo: 34, buf: [0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] }"); - } -}