BytesMut: Reuse buffer when data fully consumed via Buf

Closes #412
This commit is contained in:
Bryan Donlan
2020-07-08 15:28:36 -07:00
committed by Sean McArthur
parent 90e7e650c9
commit 81550da474
2 changed files with 18 additions and 3 deletions
+16
View File
@@ -929,6 +929,22 @@ fn bytes_buf_mut_advance() {
}
}
#[test]
fn bytes_buf_mut_reuse_when_fully_consumed() {
use bytes::{Buf, BytesMut};
let mut buf = BytesMut::new();
buf.reserve(8192);
buf.extend_from_slice(&[0u8; 100][..]);
let p = &buf[0] as *const u8;
buf.advance(100);
buf.reserve(8192);
buf.extend_from_slice(b" ");
assert_eq!(&buf[0] as *const u8, p);
}
#[test]
#[should_panic]
fn bytes_reserve_overflow() {