Struct merkletree::store::DiskStoreProducer
source · pub struct DiskStoreProducer<'data, E: Element> { /* private fields */ }
Implementations§
Trait Implementations§
source§impl<'data, E: Clone + Element> Clone for DiskStoreProducer<'data, E>
impl<'data, E: Clone + Element> Clone for DiskStoreProducer<'data, E>
source§fn clone(&self) -> DiskStoreProducer<'data, E>
fn clone(&self) -> DiskStoreProducer<'data, E>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<'data, E: 'data + Element> Producer for DiskStoreProducer<'data, E>
impl<'data, E: 'data + Element> Producer for DiskStoreProducer<'data, E>
§type Item = E
type Item = E
The type of item that will be produced by this producer once
it is converted into an iterator.
source§fn into_iter(self) -> Self::IntoIter
fn into_iter(self) -> Self::IntoIter
Convert
self
into an iterator; at this point, no more parallel splits
are possible.source§fn split_at(self, index: usize) -> (Self, Self)
fn split_at(self, index: usize) -> (Self, Self)
Split into two producers; one produces items
0..index
, the
other index..N
. Index must be less than or equal to N
.source§fn min_len(&self) -> usize
fn min_len(&self) -> usize
The minimum number of items that we will process
sequentially. Defaults to 1, which means that we will split
all the way down to a single item. This can be raised higher
using the
with_min_len
method, which will force us to
create sequential tasks at a larger granularity. Note that
Rayon automatically normally attempts to adjust the size of
parallel splits to reduce overhead, so this should not be
needed.source§fn max_len(&self) -> usize
fn max_len(&self) -> usize
The maximum number of items that we will process
sequentially. Defaults to MAX, which means that we can choose
not to split at all. This can be lowered using the
with_max_len
method, which will force us to create more
parallel tasks. Note that Rayon automatically normally
attempts to adjust the size of parallel splits to reduce
overhead, so this should not be needed.Auto Trait Implementations§
impl<'data, E> Freeze for DiskStoreProducer<'data, E>
impl<'data, E> RefUnwindSafe for DiskStoreProducer<'data, E>where
E: RefUnwindSafe,
impl<'data, E> Send for DiskStoreProducer<'data, E>
impl<'data, E> Sync for DiskStoreProducer<'data, E>
impl<'data, E> Unpin for DiskStoreProducer<'data, E>
impl<'data, E> UnwindSafe for DiskStoreProducer<'data, E>where
E: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more