pub struct Tables<const K: u8>(/* private fields */)
where
EvaluatableUsize<{ _ }>: Sized,
EvaluatableUsize<{ _ }>: Sized,
EvaluatableUsize<{ _ }>: Sized,
EvaluatableUsize<{ _ }>: Sized,
EvaluatableUsize<{ _ }>: Sized,
EvaluatableUsize<{ _ }>: Sized,
EvaluatableUsize<{ _ }>: Sized;
Expand description
Collection of Chia tables
Implementations§
source§impl Tables<15>
impl Tables<15>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<15>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<15>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<15>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<15>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<16>
impl Tables<16>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<16>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<16>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<16>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<16>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<17>
impl Tables<17>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<17>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<17>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<17>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<17>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<18>
impl Tables<18>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<18>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<18>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<18>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<18>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<19>
impl Tables<19>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<19>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<19>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<19>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<19>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<20>
impl Tables<20>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<20>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<20>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<20>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<20>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<21>
impl Tables<21>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<21>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<21>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<21>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<21>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<22>
impl Tables<22>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<22>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<22>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<22>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<22>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<23>
impl Tables<23>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<23>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<23>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<23>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<23>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<24>
impl Tables<24>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<24>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<24>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<24>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<24>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
source§impl Tables<25>
impl Tables<25>
sourcepub fn create(seed: [u8; 32], cache: &mut TablesCache<25>) -> Self
pub fn create(seed: [u8; 32], cache: &mut TablesCache<25>) -> Self
Create Chia proof of space tables. There also exists Self::create_parallel()
that trades
CPU efficiency and memory usage for lower latency.
Advanced version of Self::create_simple
that allows to reuse cache.
sourcepub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<25>) -> Self
pub fn create_parallel(seed: [u8; 32], cache: &mut TablesCache<25>) -> Self
Almost the same as Self::create()
, but uses parallelism internally for better
performance (though not efficiency of CPU and memory usage), if you create multiple tables
in parallel, prefer Self::create()
for better overall performance.
sourcepub fn create_simple(seed: [u8; 32]) -> Self
pub fn create_simple(seed: [u8; 32]) -> Self
Create Chia proof of space tables.
Simpler version of Self::create
.
sourcepub fn find_quality<'a>(
&'a self,
challenge: &'a [u8; 32],
) -> impl Iterator<Item = [u8; 32]> + 'a
pub fn find_quality<'a>( &'a self, challenge: &'a [u8; 32], ) -> impl Iterator<Item = [u8; 32]> + 'a
Find proof of space quality for given challenge.
Trait Implementations§
Auto Trait Implementations§
impl<const K: u8> Freeze for Tables<K>where
EvaluatableUsize<{ metadata_size_bytes(K, 7) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 6) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 5) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 4) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 3) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 2) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 1) }>: Sized,
impl<const K: u8> RefUnwindSafe for Tables<K>where
EvaluatableUsize<{ metadata_size_bytes(K, 7) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 6) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 5) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 4) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 3) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 2) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 1) }>: Sized,
impl<const K: u8> Send for Tables<K>where
EvaluatableUsize<{ metadata_size_bytes(K, 7) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 6) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 5) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 4) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 3) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 2) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 1) }>: Sized,
impl<const K: u8> Sync for Tables<K>where
EvaluatableUsize<{ metadata_size_bytes(K, 7) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 6) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 5) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 4) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 3) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 2) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 1) }>: Sized,
impl<const K: u8> Unpin for Tables<K>where
EvaluatableUsize<{ metadata_size_bytes(K, 7) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 6) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 5) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 4) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 3) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 2) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 1) }>: Sized,
impl<const K: u8> UnwindSafe for Tables<K>where
EvaluatableUsize<{ metadata_size_bytes(K, 7) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 6) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 5) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 4) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 3) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 2) }>: Sized,
EvaluatableUsize<{ metadata_size_bytes(K, 1) }>: Sized,
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
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>
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>
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