refactor(h1): collapse some duplicate methods from Cursor
This commit is contained in:
		| @@ -254,23 +254,13 @@ pub struct Cursor<T> { | |||||||
| } | } | ||||||
|  |  | ||||||
| impl<T: AsRef<[u8]>> Cursor<T> { | impl<T: AsRef<[u8]>> Cursor<T> { | ||||||
|     pub fn new(bytes: T) -> Cursor<T> { |     #[inline] | ||||||
|  |     pub(crate) fn new(bytes: T) -> Cursor<T> { | ||||||
|         Cursor { |         Cursor { | ||||||
|             bytes: bytes, |             bytes: bytes, | ||||||
|             pos: 0, |             pos: 0, | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     #[inline] |  | ||||||
|     pub fn buf(&self) -> &[u8] { |  | ||||||
|         &self.bytes.as_ref()[self.pos..] |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     #[inline] |  | ||||||
|     pub fn consume(&mut self, num: usize) { |  | ||||||
|         debug_assert!(self.pos + num <= self.bytes.as_ref().len()); |  | ||||||
|         self.pos += num; |  | ||||||
|     } |  | ||||||
| } | } | ||||||
|  |  | ||||||
| impl Cursor<Vec<u8>> { | impl Cursor<Vec<u8>> { | ||||||
| @@ -299,12 +289,13 @@ impl<T: AsRef<[u8]>> Buf for Cursor<T> { | |||||||
|  |  | ||||||
|     #[inline] |     #[inline] | ||||||
|     fn bytes(&self) -> &[u8] { |     fn bytes(&self) -> &[u8] { | ||||||
|         self.buf() |         &self.bytes.as_ref()[self.pos..] | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     #[inline] |     #[inline] | ||||||
|     fn advance(&mut self, cnt: usize) { |     fn advance(&mut self, cnt: usize) { | ||||||
|         self.consume(cnt) |         debug_assert!(self.pos + cnt <= self.bytes.as_ref().len()); | ||||||
|  |         self.pos += cnt; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user