Struct rpc_it::Request

source ·
pub struct Request { /* private fields */ }
Expand description

Contains route to the RPC endpoint, and received payload

Implementations§

source§

impl Request

source

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

source

pub fn route_cstr(&self) -> Result<&CStr, impl Error>

source

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

source

pub unsafe fn payload_cstr_unchecked(&self) -> &CStr

In this function, the last byte is guaranteed to be NULL, but there is no guarantee that there are no NULL bytes in the middle. To avoid unnecessarily iterating over all the bytes, the function is marked as unsafe and does not perform any verification logic.

source

pub fn request_id(&self) -> u128

source

pub async fn reply<'a, T: AsRef<[u8]> + ?Sized + 'a>( self, payload: impl IntoIterator<Item = &'a T> ) -> Result<usize>

source

pub async fn error<'a, T: AsRef<[u8]> + ?Sized + 'a>( self, errc: RepCode, payload: impl IntoIterator<Item = &'a T> ) -> Result<usize>

source

pub async fn user_error<'a, T: AsRef<[u8]> + ?Sized + 'a>( self, payload: impl IntoIterator<Item = &'a T> ) -> Result<usize>

source

pub async fn user_error_by<T: Display>(self, error: T) -> Result<usize>

source

pub async fn error_no_route(self) -> Result<usize>

Trait Implementations§

source§

impl Debug for Request

source§

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

Formats the value using the given formatter. Read more
source§

impl Drop for Request

source§

fn drop(&mut self)

In the rpc-it library, all data transmission is based on direct transmission polling of the low-level crate::AsyncFrameWrite handler.

No I/O operations that rely on async or blocking can be performed within the Drop handler, so handling of unprocessed request responses is handed off to worker tasks.

source§

impl From<Request> for Inbound

source§

fn from(original: Request) -> Inbound

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

const: unstable · source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

const: unstable · 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 Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.
source§

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

§

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

The type returned in the event of a conversion error.
const: unstable · source§

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

Performs the conversion.