mirror of
https://github.com/tokio-rs/bytes.git
synced 2026-08-26 00:00:20 +02:00
+33
-24
@@ -53,41 +53,50 @@ fn vectored_read() {
|
|||||||
let b = Cursor::new(Bytes::from(&b"world"[..]));
|
let b = Cursor::new(Bytes::from(&b"world"[..]));
|
||||||
|
|
||||||
let mut buf = a.chain(b);
|
let mut buf = a.chain(b);
|
||||||
let mut iovecs: [&IoVec; 4] = Default::default();
|
|
||||||
|
|
||||||
assert_eq!(2, buf.bytes_vec(&mut iovecs));
|
{
|
||||||
assert_eq!(iovecs[0][..], b"hello"[..]);
|
let mut iovecs: [&IoVec; 4] = Default::default();
|
||||||
assert_eq!(iovecs[1][..], b"world"[..]);
|
|
||||||
assert!(iovecs[2].is_empty());
|
assert_eq!(2, buf.bytes_vec(&mut iovecs));
|
||||||
assert!(iovecs[3].is_empty());
|
assert_eq!(iovecs[0][..], b"hello"[..]);
|
||||||
|
assert_eq!(iovecs[1][..], b"world"[..]);
|
||||||
|
assert!(iovecs[2].is_empty());
|
||||||
|
assert!(iovecs[3].is_empty());
|
||||||
|
}
|
||||||
|
|
||||||
buf.advance(2);
|
buf.advance(2);
|
||||||
|
|
||||||
iovecs = Default::default();
|
{
|
||||||
|
let mut iovecs: [&IoVec; 4] = Default::default();
|
||||||
|
|
||||||
assert_eq!(2, buf.bytes_vec(&mut iovecs));
|
assert_eq!(2, buf.bytes_vec(&mut iovecs));
|
||||||
assert_eq!(iovecs[0][..], b"llo"[..]);
|
assert_eq!(iovecs[0][..], b"llo"[..]);
|
||||||
assert_eq!(iovecs[1][..], b"world"[..]);
|
assert_eq!(iovecs[1][..], b"world"[..]);
|
||||||
assert!(iovecs[2].is_empty());
|
assert!(iovecs[2].is_empty());
|
||||||
assert!(iovecs[3].is_empty());
|
assert!(iovecs[3].is_empty());
|
||||||
|
}
|
||||||
|
|
||||||
buf.advance(3);
|
buf.advance(3);
|
||||||
|
|
||||||
iovecs = Default::default();
|
{
|
||||||
|
let mut iovecs: [&IoVec; 4] = Default::default();
|
||||||
|
|
||||||
assert_eq!(1, buf.bytes_vec(&mut iovecs));
|
assert_eq!(1, buf.bytes_vec(&mut iovecs));
|
||||||
assert_eq!(iovecs[0][..], b"world"[..]);
|
assert_eq!(iovecs[0][..], b"world"[..]);
|
||||||
assert!(iovecs[1].is_empty());
|
assert!(iovecs[1].is_empty());
|
||||||
assert!(iovecs[2].is_empty());
|
assert!(iovecs[2].is_empty());
|
||||||
assert!(iovecs[3].is_empty());
|
assert!(iovecs[3].is_empty());
|
||||||
|
}
|
||||||
|
|
||||||
buf.advance(3);
|
buf.advance(3);
|
||||||
|
|
||||||
iovecs = Default::default();
|
{
|
||||||
|
let mut iovecs: [&IoVec; 4] = Default::default();
|
||||||
|
|
||||||
assert_eq!(1, buf.bytes_vec(&mut iovecs));
|
assert_eq!(1, buf.bytes_vec(&mut iovecs));
|
||||||
assert_eq!(iovecs[0][..], b"ld"[..]);
|
assert_eq!(iovecs[0][..], b"ld"[..]);
|
||||||
assert!(iovecs[1].is_empty());
|
assert!(iovecs[1].is_empty());
|
||||||
assert!(iovecs[2].is_empty());
|
assert!(iovecs[2].is_empty());
|
||||||
assert!(iovecs[3].is_empty());
|
assert!(iovecs[3].is_empty());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user