Skip to main content

Segments

Struct Segments 

Source
pub struct Segments<'d> { /* private fields */ }
Expand description

Retained payload ownership preserving transport segmentation.

Implementations§

Source§

impl<'d> Segments<'d>

Source

pub const fn new() -> Self

Source

pub fn try_push( self, segment: Segment<'d>, ) -> Result<Self, Rejected<(Self, Segment<'d>), Error>>

Source

pub fn try_extend( self, source: Self, ) -> Result<Self, Rejected<(Self, Self), Error>>

Source

pub fn charge(&self) -> Charge

Source

pub fn segment(&self, index: usize) -> Option<&[u8]>

Source

pub fn into_shape(self) -> Shape<Shared<'d>>

Source

pub fn take(self) -> Option<Nonempty<Shared<'d>>>

Source

pub fn try_clone(&self) -> Result<Self, Error>

Methods from Deref<Target = Shape<Shared<'d>>>§

Source

pub fn owners(&self) -> Owners<'_, T> ⓘ

Source

pub fn len(&self) -> usize

Source

pub fn is_empty(&self) -> bool

Source

pub fn count(&self) -> Count

Source

pub fn contiguous(&self) -> Option<&[u8]>

Source

pub fn segments(&self) -> impl ExactSizeIterator + FusedIterator

Trait Implementations§

Source§

impl<'d> Body<'d> for Segments<'d>

Source§

fn len(&self) -> usize

Source§

fn as_slice(&self) -> Option<&[u8]>

Source§

fn segments(&self) -> impl ExactSizeIterator<Item = &[u8]> + FusedIterator

Source§

fn is_empty(&self) -> bool

Source§

impl<'d> Debug for Segments<'d>

Source§

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

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

impl Default for Segments<'_>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl<'d> Deref for Segments<'d>

Source§

type Target = Shape<Shared<'d>>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<'req, 'd> From<&'req Segments<'d>> for Ref<'req, 'd>

Source§

fn from(body: &'req Segments<'d>) -> Self

Converts to this type from the input type.
Source§

impl<'d> From<Chain<Shared<'d>>> for Segments<'d>

Source§

fn from(chain: Chain<Shared<'d>>) -> Self

Converts to this type from the input type.
Source§

impl<'d> From<Item<Shared<'d>>> for Segments<'d>

Source§

fn from(owner: Item<Shared<'d>>) -> Self

Converts to this type from the input type.
Source§

impl<'d> From<Many<Shared<'d>>> for Segments<'d>

Source§

fn from(chain: Many<Shared<'d>>) -> Self

Converts to this type from the input type.
Source§

impl<'d> From<Nonempty<Shared<'d>>> for Segments<'d>

Source§

fn from(owners: Nonempty<Shared<'d>>) -> Self

Converts to this type from the input type.
Source§

impl<'d> From<Shape<Shared<'d>>> for Segments<'d>

Source§

fn from(storage: Shape<Shared<'d>>) -> Self

Converts to this type from the input type.
Source§

impl<'d> From<Shared<'d>> for Segments<'d>

Source§

fn from(data: Shared<'d>) -> Self

Converts to this type from the input type.
Source§

impl<'d> From<Shared> for Segments<'d>

Source§

fn from(data: Shared) -> Self

Converts to this type from the input type.
Source§

impl<'d> IntoIterator for Segments<'d>

Source§

type Item = Shared<'d>

The type of the elements being iterated over.
Source§

type IntoIter = Segments<'d>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<'d> Source<'d> for Segments<'d>

Source§

type Body<'a> = &'a Segments<'d>
where Self: 'a, 'd: 'a,

Source§

fn try_project<V, T>( &mut self, value: V, project: impl for<'a> FnOnce(V, View<'a, 'd>) -> T, ) -> Result<T, (V, Error)>

Source§

fn body<'a>(&'a self) -> Self::Body<'a>
where 'd: 'a,

Auto Trait Implementations§

§

impl<'d> !RefUnwindSafe for Segments<'d>

§

impl<'d> !Send for Segments<'d>

§

impl<'d> !Sync for Segments<'d>

§

impl<'d> !UnwindSafe for Segments<'d>

§

impl<'d> Forget for Segments<'d>

§

impl<'d> Freeze for Segments<'d>

§

impl<'d> Unpin for Segments<'d>

§

impl<'d> UnsafeUnpin for Segments<'d>

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

Source§

fn into(self) -> T

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<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
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.