Skip to main content

ReadBatch

Struct ReadBatch 

Source
pub struct ReadBatch<T> { /* private fields */ }

Implementations§

Source§

impl ReadBatch<FileEvent>

Source

pub fn event(&self) -> &FileEvent

Source

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

Source

pub fn offset(&self) -> Option<u64>

Source§

impl<T> ReadBatch<T>

Source

pub fn try_map<U, E>( self, additional_peak: usize, map: impl FnOnce(T) -> Result<U, E>, ) -> Result<ReadBatch<U>, E>
where E: From<Error>,

Consumes a unique owner and preserves its admitted memory through a projection.

additional_peak must bound all new output allocations and conversion scratch simultaneously live with the input. Private owner growth is admitted separately. The callback must transfer payload allocations only into its successful value. Errors and external captures must not retain them. Nested retained pages must retain or map their own owners.

Admission is nonblocking and happens before the callback. Shared owners are refused; failure consumes this handle. Existing and additional claims remain conservative until their last owner drops, including on independently shared memory claims. No automatic shrinking or payload cloning occurs.

Source

pub fn try_map_with<U, V, E>( self, other: ReadBatch<U>, additional_peak: usize, map: impl FnOnce(T, U) -> Result<V, E>, ) -> Result<ReadBatch<V>, E>
where E: From<Error>,

Consumes two unique owners while retaining every input memory claim.

The callback has the same peak-allocation and payload-escape obligations as try_map. Guard-vector replacement and private owner growth are admitted separately before allocating. Admission never waits and failure consumes both handles. Shared or weak owner aliases are refused before the callback.

Combining claims does not unify their admission groups. Inputs used by later dependent reads should originate from the same ReadSession. Nested pages must continue to retain or map their own guards.

Source

pub fn owner(&self) -> Arc<impl Borrow<T> + Send + Sync + 'static> ⓘ
where T: Send + Sync + 'static,

Trait Implementations§

Source§

impl<T> AsRef<T> for ReadBatch<T>

Source§

fn as_ref(&self) -> &T

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl<T> Clone for ReadBatch<T>

Source§

fn clone(&self) -> ReadBatch<T>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl<T> Debug for ReadBatch<T>
where T: Debug,

Source§

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

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

impl<T> Deref for ReadBatch<T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &<ReadBatch<T> as Deref>::Target

Dereferences the value.
Source§

impl<T> MemorySize for ReadBatch<T>
where T: MemorySize,

Source§

fn memory_size(&self) -> usize

Source§

const INLINE_ONLY: bool = false

True only when every value occupies exactly size_of::<Self>() bytes, with no separately owned allocations or additional accounting charge.

Auto Trait Implementations§

§

impl<T> Freeze for ReadBatch<T>
where Arc<ReadOwner<T>>: Freeze,

§

impl<T> RefUnwindSafe for ReadBatch<T>
where Arc<ReadOwner<T>>: RefUnwindSafe,

§

impl<T> Send for ReadBatch<T>
where Arc<ReadOwner<T>>: Send,

§

impl<T> Sync for ReadBatch<T>
where Arc<ReadOwner<T>>: Sync,

§

impl<T> Unpin for ReadBatch<T>
where Arc<ReadOwner<T>>: Unpin,

§

impl<T> UnsafeUnpin for ReadBatch<T>
where Arc<ReadOwner<T>>: UnsafeUnpin,

§

impl<T> UnwindSafe for ReadBatch<T>
where Arc<ReadOwner<T>>: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<C, T> Catalogued<C> for T
where T: Into<C>,

Source§

fn catalogued(self) -> C

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> Formattable for T
where T: Deref, <T as Deref>::Target: Formattable,

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

Source§

impl<T> Parsable for T
where T: Deref, <T as Deref>::Target: Parsable,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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<R> RecordProjection<R> for R

Source§

fn project(&self) -> Option<&R>

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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 = !

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.
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