Simplify
This commit is contained in:
parent
97e67cbfd7
commit
7894e5e5fc
|
@ -63,8 +63,7 @@ impl Mmap {
|
||||||
// memory.
|
// memory.
|
||||||
libc::MAP_FAILED => Err("mmap returned an error"),
|
libc::MAP_FAILED => Err("mmap returned an error"),
|
||||||
_ => {
|
_ => {
|
||||||
let ptr = NonNull::new(ptr_or_err as *mut u8)
|
let ptr = NonNull::new(ptr_or_err as *mut u8).ok_or("mmap returned 0")?;
|
||||||
.ok_or("mmap returned 0")?;
|
|
||||||
Ok(Self { ptr, len })
|
Ok(Self { ptr, len })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,31 +129,16 @@ impl ByteBuf {
|
||||||
let new_mmap = if new_len == 0 {
|
let new_mmap = if new_len == 0 {
|
||||||
None
|
None
|
||||||
} else {
|
} else {
|
||||||
if self.len() == 0 {
|
let mut new_mmap = Mmap::new(new_len)?;
|
||||||
Some(Mmap::new(new_len)?)
|
if let Some(cur_mmap) = self.mmap.take() {
|
||||||
} else {
|
let src = cur_mmap.as_slice();
|
||||||
let mut new_mmap = Mmap::new(new_len)?;
|
let dst = new_mmap.as_slice_mut();
|
||||||
|
let amount = src.len().min(dst.len());
|
||||||
{
|
dst[..amount].copy_from_slice(&src[..amount]);
|
||||||
let src = self
|
|
||||||
.mmap
|
|
||||||
.as_ref()
|
|
||||||
.expect(
|
|
||||||
"self.len() != 0;
|
|
||||||
self.mmap is created if self.len() != 0;
|
|
||||||
self.mmap is not `None`;
|
|
||||||
qed",
|
|
||||||
)
|
|
||||||
.as_slice();
|
|
||||||
let dst = new_mmap.as_slice_mut();
|
|
||||||
let amount = src.len().min(dst.len());
|
|
||||||
dst[..amount].copy_from_slice(&src[..amount]);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
Some(new_mmap)
|
|
||||||
}
|
}
|
||||||
|
Some(new_mmap)
|
||||||
};
|
};
|
||||||
|
|
||||||
self.mmap = new_mmap;
|
self.mmap = new_mmap;
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue