pub struct ReadAdapter<R: ?Sized>(/* private fields */);Expand description
Reader adapter over any std::io::Read source.
Wraps any R: std::io::Read and exposes it as a wincode Reader, allowing
deserialization from files, network streams, or other I/O sources.
§Examples
Deserialize a tuple via ReadAdapter:
use wincode::io::std_read::ReadAdapter;
let tuple = (42u32, true, 1234567890i64);
let buf = wincode::serialize(&tuple).unwrap();
let reader = ReadAdapter::new(&buf[..]);
let out: (u32, bool, i64) = wincode::deserialize_from(reader).unwrap();
assert_eq!(out, tuple);Implementations§
Trait Implementations§
Source§impl<R: Read + ?Sized> Reader<'_> for ReadAdapter<R>
impl<R: Read + ?Sized> Reader<'_> for ReadAdapter<R>
Source§fn copy_into_slice(&mut self, dst: &mut [u8]) -> ReadResult<()>
fn copy_into_slice(&mut self, dst: &mut [u8]) -> ReadResult<()>
Attempts to copy and consume exactly
dst.len() bytes. Read moreSource§const BORROW_KINDS: u8 = 0
const BORROW_KINDS: u8 = 0
Borrow capabilities of this reader. Read more
Source§fn supports_borrow(&self, kind: BorrowKind) -> bool
fn supports_borrow(&self, kind: BorrowKind) -> bool
Checks if this reader supports the given borrow kind. Read more
Source§fn take_array<const N: usize>(&mut self) -> ReadResult<[u8; N]>
fn take_array<const N: usize>(&mut self) -> ReadResult<[u8; N]>
Source§fn take_borrowed(&mut self, len: usize) -> ReadResult<&'a [u8]>
fn take_borrowed(&mut self, len: usize) -> ReadResult<&'a [u8]>
Source§fn take_borrowed_mut(&mut self, len: usize) -> ReadResult<&'a mut [u8]>
fn take_borrowed_mut(&mut self, len: usize) -> ReadResult<&'a mut [u8]>
Source§fn take_scoped(&mut self, len: usize) -> ReadResult<&[u8]>
fn take_scoped(&mut self, len: usize) -> ReadResult<&[u8]>
Source§unsafe fn as_trusted_for(
&mut self,
n_bytes: usize,
) -> ReadResult<impl Reader<'a>>
unsafe fn as_trusted_for( &mut self, n_bytes: usize, ) -> ReadResult<impl Reader<'a>>
Source§unsafe fn as_trusted_for_seq(
&mut self,
len: usize,
size: usize,
) -> Result<impl Reader<'a>, ReadError>
unsafe fn as_trusted_for_seq( &mut self, len: usize, size: usize, ) -> Result<impl Reader<'a>, ReadError>
Source§fn copy_into_uninit_slice(
&mut self,
dst: &mut [MaybeUninit<u8>],
) -> ReadResult<()>
fn copy_into_uninit_slice( &mut self, dst: &mut [MaybeUninit<u8>], ) -> ReadResult<()>
Attempts to copy and consume exactly
dst.len() bytes into potentially
uninitialized storage. Read moreSource§unsafe fn copy_into_t<T>(&mut self, dst: &mut MaybeUninit<T>) -> ReadResult<()>
unsafe fn copy_into_t<T>(&mut self, dst: &mut MaybeUninit<T>) -> ReadResult<()>
Source§unsafe fn copy_into_slice_t<T>(
&mut self,
dst: &mut [MaybeUninit<T>],
) -> ReadResult<()>
unsafe fn copy_into_slice_t<T>( &mut self, dst: &mut [MaybeUninit<T>], ) -> ReadResult<()>
Auto Trait Implementations§
impl<R> Freeze for ReadAdapter<R>
impl<R> RefUnwindSafe for ReadAdapter<R>where
R: RefUnwindSafe + ?Sized,
impl<R> Send for ReadAdapter<R>
impl<R> Sync for ReadAdapter<R>
impl<R> Unpin for ReadAdapter<R>
impl<R> UnsafeUnpin for ReadAdapter<R>where
R: UnsafeUnpin + ?Sized,
impl<R> UnwindSafe for ReadAdapter<R>where
R: UnwindSafe + ?Sized,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more