diff options
author | Till Höppner | 2016-02-25 06:58:22 +0100 |
---|---|---|
committer | Till Höppner | 2016-02-25 06:58:22 +0100 |
commit | cd15d4f8de1ee9bc6d00fb0a08659ca2c74d2e2d (patch) | |
tree | 66b6a4fff228446fc46f4b47ba3b8551ba46e8b2 /src/format/msgpack.rs | |
parent | 9f5dd9dad6b13476bab2c6eb3c6528f8ad49311a (diff) | |
download | ilc-cd15d4f8de1ee9bc6d00fb0a08659ca2c74d2e2d.tar.gz ilc-cd15d4f8de1ee9bc6d00fb0a08659ca2c74d2e2d.tar.xz ilc-cd15d4f8de1ee9bc6d00fb0a08659ca2c74d2e2d.zip |
Update Cargo.toml files with more metadata
Diffstat (limited to 'src/format/msgpack.rs')
-rw-r--r-- | src/format/msgpack.rs | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/src/format/msgpack.rs b/src/format/msgpack.rs deleted file mode 100644 index 36af1aa..0000000 --- a/src/format/msgpack.rs +++ /dev/null @@ -1,62 +0,0 @@ -// Copyright 2015 Till Höppner -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -use std::io::{BufRead, Write}; -use std::iter::Iterator; - -use event::Event; -use context::Context; -use format::{Decode, Encode}; - -use rustc_serialize::{Decodable, Encodable}; -use msgpack::{Decoder, Encoder}; -use rmp::decode::ReadError; - -pub struct Msgpack; - -pub struct Iter<'a> { - input: &'a mut BufRead, -} - -impl<'a> Iterator for Iter<'a> { - type Item = ::Result<Event<'a>>; - fn next(&mut self) -> Option<::Result<Event<'a>>> { - use msgpack::decode; - match Event::decode(&mut Decoder::new(&mut self.input)) { - Ok(e) => Some(Ok(e)), - Err(decode::Error::InvalidMarkerRead(ReadError::UnexpectedEOF)) => None, - Err(e) => Some(Err(::IlcError::MsgpackDecode(e))), - } - } -} - -impl Encode for Msgpack { - fn encode<'a>(&'a self, - _context: &'a Context, - output: &'a mut Write, - event: &'a Event) - -> ::Result<()> { - event.encode(&mut Encoder::new(output)) - .map_err(|e| ::IlcError::MsgpackEncode(e)) - } -} - -impl Decode for Msgpack { - fn decode<'a>(&'a mut self, - _context: &'a Context, - input: &'a mut BufRead) - -> Box<Iterator<Item = ::Result<Event<'a>>> + 'a> { - Box::new(Iter { input: input }) - } -} |