Skip to main content

Response

Struct Response 

Source
pub struct Response { /* private fields */ }
Expand description

One finished read.

The index is the position the request had in the vector handed to submit, and it is here because completions do not arrive in submission order. A caller that decodes as answers arrive has no other way to know which page it is looking at.

Implementations§

Source§

impl Response

Source

pub fn new(index: usize, offset: u64, read: usize, buf: Vec<u8>) -> Self

A finished read of read bytes into buf.

Source

pub fn index(&self) -> usize

Which request this answers, by position in the submitted vector.

Source

pub fn offset(&self) -> u64

Where in the file the read started.

Source

pub fn read(&self) -> usize

How many bytes arrived.

Source

pub fn bytes(&self) -> &[u8]

The bytes that arrived, which is a prefix of the buffer and not all of it.

Source

pub fn is_short(&self) -> bool

Whether fewer bytes arrived than were asked for.

A short read is not an error here for the same reason it is not one in read_at: the end of the file is a fact about the file and the caller is the one that knows whether it was expecting to be there. A caller that cannot proceed on a short read says so itself.

Source

pub fn into_buffer(self) -> Vec<u8>

The buffer, taken out of the response so it can be handed to the next request.

The bytes past Self::read are whatever was in the buffer before.

Trait Implementations§

Source§

impl Debug for Response

Source§

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

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.