Struct DatagramReader

Source
pub struct DatagramReader(/* private fields */);
Expand description

Implementations§

Source§

impl DatagramReader

Source

pub fn poll_recv(&self, cx: &mut Context<'_>) -> Poll<Result<Bytes, Error>>

This is the internal implementation of the DatagramReader::recv method.

If the datagram is not ready, and the connection is active, the method will return Poll::Pending and set the waker for waking up the task when the datagram is received.

Note that only the waker set by the last call may be awakened

While there has a datagram frame received but unread, this method will return Poll::Ready with the received datagram frame as Ok.

If the connection is closing or already closed, this method will return Poll::Ready with an error as Err.

Source

pub fn recv(&mut self) -> RecvDatagram<'_>

Receive a datagram frame from peer.

This method is asynchronous and returns a future that resolves to the received datagram.

pub async fn recv(&self) -> io::Result<Bytes>

The future will yield the received datagram as Ok.

If the connection is closing or already closed, the future will yield an error as Err.

The future is Cancel Safe.

Source

pub fn read<'b>(&'b mut self, buf: &'b mut [u8]) -> ReadIntoSlice<'b>

Reads the received datagram frame into a mutable slice.

This method is asynchronous and returns a future that resolves to the number of bytes read.

pub async fn read(&self, buf: & mut [u8]) -> io::Result<usize>

The future will yield the size of bytes read from the received datagram as Ok.

If the buffer is not large enough to hold the received data, the received data will be truncated.

If the connection is closing or already closed, the future will yield an error as Err.

Source

pub fn read_buf<'b, B>(&'b mut self, buf: &'b mut B) -> ReadIntoBuf<'b, B>
where B: BufMut,

Reads the received datagram frame into a mutable reference to bytes::BufMut.

This method is asynchronous and returns a future that resolves to the number of bytes read.

pub async fn read_buf(&self, buf: & mut [u8]) -> io::Result<usize>

The future will yield the size of bytes read from the received datagram as Ok.

If the buffer is not large enough to hold the received data, the behavior is defined by the bytes::BufMut::put implementation.

If the connection is closing or already closed, the future will yield an error as Err.

Trait Implementations§

Source§

impl Clone for DatagramReader

Source§

fn clone(&self) -> DatagramReader

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DatagramReader

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more