A poll-based I/O and completion-based I/O buffer compatible buffer.
The IoBuf trait is implemented by buffer types that can be used with crate::Read.
Fusio has already implemented this trait for common buffer types
like Vec<u8>, &[u8], &mut [u8], bytes::Bytes, bytes::BytesMut, every buffer type
may be not be able to be used in all async runtimes, fusio provides compile-time safety to
ensure which buffer types are compatible with the async runtime.