aboutsummaryrefslogtreecommitdiff
path: root/src/protocol/primitive/stringlist.rs
diff options
context:
space:
mode:
authorMax Audron <audron@cocaine.farm>2020-04-29 00:00:44 +0200
committerMax Audron <audron@cocaine.farm>2020-04-29 00:00:44 +0200
commitfc64e11cdd35051a2ea87237f548ae0497a2f7f9 (patch)
treec57937731898b0ffd66d1d95bb0f181cae568c37 /src/protocol/primitive/stringlist.rs
parentfinish parsing of primitive types (diff)
refactor everything
Diffstat (limited to 'src/protocol/primitive/stringlist.rs')
-rw-r--r--src/protocol/primitive/stringlist.rs45
1 files changed, 0 insertions, 45 deletions
diff --git a/src/protocol/primitive/stringlist.rs b/src/protocol/primitive/stringlist.rs
deleted file mode 100644
index d2902f2..0000000
--- a/src/protocol/primitive/stringlist.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-extern crate byteorder;
-
-use std::convert::TryInto;
-use std::result::Result;
-use std::vec::Vec;
-
-use failure::Error;
-
-use log::trace;
-
-use crate::protocol::primitive::{deserialize, serialize};
-
-pub type StringList = Vec<String>;
-impl serialize::Serialize for StringList {
- fn serialize(&self) -> Result<Vec<u8>, Error> {
- let len: i32 = self.len().try_into()?;
- let mut res: Vec<u8> = Vec::new();
-
- res.extend(len.to_be_bytes().iter());
- for x in self {
- res.extend(x.serialize()?);
- }
-
- return Ok(res);
- }
-}
-
-impl deserialize::Deserialize for StringList {
- fn parse(b: &[u8]) -> Result<(usize, Self), Error> {
- let (_, len) = i32::parse(&b[0..4])?;
- trace!(target: "protocol::primitive::StringList", "Parsing with length: {:?}, from bytes: {:x?}", len, &b[0..4]);
- let mut res: StringList = StringList::new();
-
- let mut pos = 4;
- if len > 0 {
- for _ in 0..len {
- let (lpos, val) = String::parse(&b[pos..])?;
- pos += lpos;
- res.push(val);
- }
- }
-
- return Ok((pos, res));
- }
-}