Skip to main content

Request

Struct Request 

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

One read, with the buffer its bytes land in.

The length wanted is the length of the buffer. There is no separate length field because two fields that have to agree are two fields that disagree eventually.

Implementations§

Source§

impl Request

Source

pub fn new(offset: u64, len: usize) -> Self

A read of len bytes at offset, into a buffer allocated here.

Source

pub fn reusing(offset: u64, buf: Vec<u8>) -> Self

A read at offset into a buffer the caller already has.

The buffer’s length is the length of the read, and its contents are overwritten. This is the form a scan uses on its second row group, because the alternative is allocating a column’s worth of page buffers per row group for the life of the query.

Source

pub fn offset(&self) -> u64

Where in the file the read starts.

Source

pub fn len(&self) -> usize

How many bytes are wanted.

Source

pub fn is_empty(&self) -> bool

Whether this request asks for nothing.

Source

pub fn end(&self) -> u64

One past the last byte wanted.

Source

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

The destination buffer, taken out of the request.

Trait Implementations§

Source§

impl Debug for Request

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.