From 1d5464351ddc6dcdd41e815c36d8779ed1ed60de Mon Sep 17 00:00:00 2001 From: Paul Masurel Date: Tue, 30 May 2017 16:03:09 +0900 Subject: [PATCH] generic read --- src/common/serialize.rs | 18 +++++++++--------- src/common/vint.rs | 2 +- src/postings/term_info.rs | 2 +- src/schema/field.rs | 2 +- src/schema/field_value.rs | 2 +- src/schema/value.rs | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/src/common/serialize.rs b/src/common/serialize.rs index 471ac3a9c..ffd6982aa 100644 --- a/src/common/serialize.rs +++ b/src/common/serialize.rs @@ -8,14 +8,14 @@ use common::VInt; pub trait BinarySerializable: fmt::Debug + Sized { fn serialize(&self, writer: &mut Write) -> io::Result; - fn deserialize(reader: &mut Read) -> io::Result; + fn deserialize(reader: &mut R) -> io::Result; } impl BinarySerializable for () { fn serialize(&self, _: &mut Write) -> io::Result { Ok(0) } - fn deserialize(_: &mut Read) -> io::Result { + fn deserialize(_: &mut R) -> io::Result { Ok(()) } } @@ -28,7 +28,7 @@ impl BinarySerializable for Vec { } Ok(total_size) } - fn deserialize(reader: &mut Read) -> io::Result> { + fn deserialize(reader: &mut R) -> io::Result> { let num_items = try!(VInt::deserialize(reader)).val(); let mut items: Vec = Vec::with_capacity(num_items as usize); for _ in 0..num_items { @@ -44,7 +44,7 @@ impl BinarySerializable for fn serialize(&self, write: &mut Write) -> io::Result { Ok(try!(self.0.serialize(write)) + try!(self.1.serialize(write))) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { Ok((try!(Left::deserialize(reader)), try!(Right::deserialize(reader)))) } } @@ -54,7 +54,7 @@ impl BinarySerializable for u32 { writer.write_u32::(*self).map(|_| 4) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { reader.read_u32::() } } @@ -64,7 +64,7 @@ impl BinarySerializable for u64 { fn serialize(&self, writer: &mut Write) -> io::Result { writer.write_u64::(*self).map(|_| 8) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { reader.read_u64::() } } @@ -73,7 +73,7 @@ impl BinarySerializable for i64 { fn serialize(&self, writer: &mut Write) -> io::Result { writer.write_i64::(*self).map(|_| 8) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { reader.read_i64::() } } @@ -84,7 +84,7 @@ impl BinarySerializable for u8 { try!(writer.write_u8(*self)); Ok(1) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { reader.read_u8() } } @@ -98,7 +98,7 @@ impl BinarySerializable for String { Ok(size) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { let string_length = try!(VInt::deserialize(reader)).val() as usize; let mut result = String::with_capacity(string_length); try!(reader diff --git a/src/common/vint.rs b/src/common/vint.rs index 0563d8f8e..3201b8541 100644 --- a/src/common/vint.rs +++ b/src/common/vint.rs @@ -36,7 +36,7 @@ impl BinarySerializable for VInt { Ok(written) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { let mut bytes = reader.bytes(); let mut result = 0u64; let mut shift = 0u64; diff --git a/src/postings/term_info.rs b/src/postings/term_info.rs index fbcf9e05a..90d9d02f4 100644 --- a/src/postings/term_info.rs +++ b/src/postings/term_info.rs @@ -28,7 +28,7 @@ impl BinarySerializable for TermInfo { Ok(try!(self.doc_freq.serialize(writer)) + try!(self.postings_offset.serialize(writer)) + try!(self.positions_offset.serialize(writer))) } - fn deserialize(reader: &mut io::Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { let doc_freq = try!(u32::deserialize(reader)); let postings_offset = try!(u32::deserialize(reader)); let positions_offset = try!(u32::deserialize(reader)); diff --git a/src/schema/field.rs b/src/schema/field.rs index d73a66b34..e5489adf6 100644 --- a/src/schema/field.rs +++ b/src/schema/field.rs @@ -18,7 +18,7 @@ impl BinarySerializable for Field { self.0.serialize(writer) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { u32::deserialize(reader).map(Field) } } diff --git a/src/schema/field_value.rs b/src/schema/field_value.rs index 8202cc5ca..b6cd5469b 100644 --- a/src/schema/field_value.rs +++ b/src/schema/field_value.rs @@ -38,7 +38,7 @@ impl BinarySerializable for FieldValue { Ok(self.field.serialize(writer)? + self.value.serialize(writer)?) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { let field = Field::deserialize(reader)?; let value = Value::deserialize(reader)?; Ok(FieldValue::new(field, value)) diff --git a/src/schema/value.rs b/src/schema/value.rs index 8e5ee4153..139e23f13 100644 --- a/src/schema/value.rs +++ b/src/schema/value.rs @@ -148,7 +148,7 @@ mod binary_serialize { } Ok(written_size) } - fn deserialize(reader: &mut Read) -> io::Result { + fn deserialize(reader: &mut R) -> io::Result { let type_code = try!(u8::deserialize(reader)); match type_code { TEXT_CODE => {