mirror of
https://github.com/tokio-rs/bytes.git
synced 2026-08-25 00:00:22 +02:00
+1
-1
@@ -329,7 +329,7 @@ impl MutBuf for MutByteBuf {
|
|||||||
self.buf.remaining()
|
self.buf.remaining()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn advance(&mut self, cnt: usize) {
|
unsafe fn advance(&mut self, cnt: usize) {
|
||||||
self.buf.advance(cnt)
|
self.buf.advance(cnt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+6
-7
@@ -95,7 +95,7 @@ pub trait MutBuf : Sized {
|
|||||||
fn remaining(&self) -> usize;
|
fn remaining(&self) -> usize;
|
||||||
|
|
||||||
/// Advance the internal cursor of the MutBuf
|
/// Advance the internal cursor of the MutBuf
|
||||||
fn advance(&mut self, cnt: usize);
|
unsafe fn advance(&mut self, cnt: usize);
|
||||||
|
|
||||||
/// Returns true iff there is any more space for bytes to be written
|
/// Returns true iff there is any more space for bytes to be written
|
||||||
fn has_remaining(&self) -> bool {
|
fn has_remaining(&self) -> bool {
|
||||||
@@ -143,9 +143,10 @@ pub trait MutBuf : Sized {
|
|||||||
cnt);
|
cnt);
|
||||||
|
|
||||||
off += cnt;
|
off += cnt;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.advance(cnt);
|
unsafe { self.advance(cnt); }
|
||||||
}
|
}
|
||||||
|
|
||||||
len
|
len
|
||||||
@@ -278,7 +279,7 @@ impl<'a, R: io::Read+'a> Source for &'a mut R {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
buf.advance(i);
|
unsafe { buf.advance(i); }
|
||||||
cnt += i;
|
cnt += i;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -338,7 +339,7 @@ impl MutBuf for Vec<u8> {
|
|||||||
usize::MAX - self.len()
|
usize::MAX - self.len()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn advance(&mut self, cnt: usize) {
|
unsafe fn advance(&mut self, cnt: usize) {
|
||||||
let len = self.len() + cnt;
|
let len = self.len() + cnt;
|
||||||
|
|
||||||
if len > self.capacity() {
|
if len > self.capacity() {
|
||||||
@@ -348,9 +349,7 @@ impl MutBuf for Vec<u8> {
|
|||||||
self.reserve(cap - len);
|
self.reserve(cap - len);
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe {
|
self.set_len(len);
|
||||||
self.set_len(len);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
unsafe fn mut_bytes(&mut self) -> &mut [u8] {
|
unsafe fn mut_bytes(&mut self) -> &mut [u8] {
|
||||||
|
|||||||
+1
-1
@@ -199,7 +199,7 @@ impl MutBuf for RingBuf {
|
|||||||
self.write_remaining()
|
self.write_remaining()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn advance(&mut self, cnt: usize) {
|
unsafe fn advance(&mut self, cnt: usize) {
|
||||||
self.advance_writer(cnt)
|
self.advance_writer(cnt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -48,7 +48,7 @@ impl<'a> MutBuf for MutSliceBuf<'a> {
|
|||||||
self.bytes.len() - self.pos
|
self.bytes.len() - self.pos
|
||||||
}
|
}
|
||||||
|
|
||||||
fn advance(&mut self, mut cnt: usize) {
|
unsafe fn advance(&mut self, mut cnt: usize) {
|
||||||
cnt = cmp::min(cnt, self.remaining());
|
cnt = cmp::min(cnt, self.remaining());
|
||||||
self.pos += cnt;
|
self.pos += cnt;
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -71,7 +71,7 @@ impl<T: MutBuf> MutBuf for Take<T> {
|
|||||||
&mut self.inner.mut_bytes()[..self.limit]
|
&mut self.inner.mut_bytes()[..self.limit]
|
||||||
}
|
}
|
||||||
|
|
||||||
fn advance(&mut self, cnt: usize) {
|
unsafe fn advance(&mut self, cnt: usize) {
|
||||||
let cnt = cmp::min(cnt, self.limit);
|
let cnt = cmp::min(cnt, self.limit);
|
||||||
self.limit -= cnt;
|
self.limit -= cnt;
|
||||||
self.inner.advance(cnt);
|
self.inner.advance(cnt);
|
||||||
|
|||||||
+1
-1
@@ -220,7 +220,7 @@ impl<'a> Source for &'a Bytes {
|
|||||||
}
|
}
|
||||||
|
|
||||||
src.advance(l);
|
src.advance(l);
|
||||||
dst.advance(l);
|
unsafe { dst.advance(l); }
|
||||||
|
|
||||||
res += l;
|
res += l;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user