use std::mem::MaybeUninit;
use compio_buf::IoBufMut;
#[inline]
pub(crate) fn slice_to_uninit(src: &[u8], dst: &mut [MaybeUninit<u8>]) -> usize {
let len = src.len().min(dst.len());
unsafe {
std::ptr::copy_nonoverlapping(src.as_ptr() as _, dst.as_mut_ptr(), len);
}
len
}
#[inline]
pub(crate) fn slice_to_buf<B: IoBufMut + ?Sized>(src: &[u8], buf: &mut B) -> usize {
let len = slice_to_uninit(src, buf.as_mut_slice());
unsafe { buf.set_buf_init(len) };
len
}
pub(crate) const DEFAULT_BUF_SIZE: usize = 8 * 1024;
pub(crate) const MISSING_BUF: &str = "The buffer was submitted for io and never returned";