From b2efe63c70766a5c70bfe734d4bdd80ecd45913a Mon Sep 17 00:00:00 2001 From: Carl Lerche <me@carllerche.com> Date: Fri, 5 Aug 2016 22:49:41 -0700 Subject: [PATCH] Get rid of SliceBuf --- src/buf/mod.rs | 12 +++++----- src/buf/slice.rs | 59 ------------------------------------------------ src/lib.rs | 2 -- 3 files changed, 6 insertions(+), 67 deletions(-) delete mode 100644 src/buf/slice.rs diff --git a/src/buf/mod.rs b/src/buf/mod.rs index cdd11ea..00a9a32 100644 --- a/src/buf/mod.rs +++ b/src/buf/mod.rs @@ -2,14 +2,12 @@ mod append; mod byte; mod ring; mod sink; -mod slice; mod source; mod take; pub use self::append::AppendBuf; pub use self::byte::{ByteBuf, MutByteBuf, ROByteBuf}; pub use self::ring::RingBuf; -pub use self::slice::{SliceBuf, MutSliceBuf}; pub use self::take::Take; use {ByteStr, RopeBuf}; @@ -43,9 +41,10 @@ pub trait Buf { /// Returns the number of bytes read. /// /// ``` - /// use bytes::{SliceBuf, Buf}; + /// use std::io::Cursor; + /// use bytes::Buf; /// - /// let mut buf = SliceBuf::wrap(b"hello world"); + /// let mut buf = Cursor::new(b"hello world"); /// let mut dst = [0; 5]; /// /// buf.read_slice(&mut dst); @@ -117,12 +116,13 @@ pub trait MutBuf : Sized { /// Returns the number of bytes written. /// /// ``` - /// use bytes::{MutSliceBuf, Buf, MutBuf}; + /// use bytes::MutBuf; + /// use std::io::Cursor; /// /// let mut dst = [0; 6]; /// /// { - /// let mut buf = MutSliceBuf::wrap(&mut dst); + /// let mut buf = Cursor::new(&mut dst); /// buf.write_slice(b"hello"); /// /// assert_eq!(1, buf.remaining()); diff --git a/src/buf/slice.rs b/src/buf/slice.rs deleted file mode 100644 index a526803..0000000 --- a/src/buf/slice.rs +++ /dev/null @@ -1,59 +0,0 @@ -use std::cmp; -use {Buf, MutBuf}; - -// TODO: Rename -> Cursor. Use as buf for various byte strings - -pub struct SliceBuf<'a> { - bytes: &'a [u8], - pos: usize -} - -impl<'a> SliceBuf<'a> { - pub fn wrap(bytes: &'a [u8]) -> SliceBuf<'a> { - SliceBuf { bytes: bytes, pos: 0 } - } -} - -impl<'a> Buf for SliceBuf<'a> { - fn remaining(&self) -> usize { - self.bytes.len() - self.pos - } - - fn bytes<'b>(&'b self) -> &'b [u8] { - &self.bytes[self.pos..] - } - - fn advance(&mut self, mut cnt: usize) { - cnt = cmp::min(cnt, self.remaining()); - self.pos += cnt; - } -} - -pub struct MutSliceBuf<'a> { - bytes: &'a mut [u8], - pos: usize -} - -impl<'a> MutSliceBuf<'a> { - pub fn wrap(bytes: &'a mut [u8]) -> MutSliceBuf<'a> { - MutSliceBuf { - bytes: bytes, - pos: 0 - } - } -} - -impl<'a> MutBuf for MutSliceBuf<'a> { - fn remaining(&self) -> usize { - self.bytes.len() - self.pos - } - - unsafe fn advance(&mut self, mut cnt: usize) { - cnt = cmp::min(cnt, self.remaining()); - self.pos += cnt; - } - - unsafe fn mut_bytes<'b>(&'b mut self) -> &'b mut [u8] { - &mut self.bytes[self.pos..] - } -} diff --git a/src/lib.rs b/src/lib.rs index f79ea9b..1b977d3 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,8 +14,6 @@ pub use buf::{ MutByteBuf, RingBuf, ROByteBuf, - SliceBuf, - MutSliceBuf, Take, ReadExt, WriteExt, -- GitLab