TableGenerator

Trait TableGenerator 

Source
pub trait TableGenerator<T: Table>:
    Debug
    + Default
    + Clone
    + Send
    + Sync
    + Sized
    + 'static {
    // Required method
    fn generate(&self, seed: &PosSeed) -> T;

    // Provided method
    fn generate_parallel(&self, seed: &PosSeed) -> T { ... }
}
Expand description

Stateful table generator with better performance.

Prefer cloning it over creating multiple separate generators.

Required Methods§

Source

fn generate(&self, seed: &PosSeed) -> T

Generate a new table with 32 bytes seed.

There is also Self::generate_parallel() that can achieve lower latency.

Provided Methods§

Source

fn generate_parallel(&self, seed: &PosSeed) -> T

Generate a new table with 32 bytes seed using parallelism.

This implementation will trade efficiency of CPU and memory usage for lower latency, prefer Self::generate() unless lower latency is critical.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl TableGenerator<ChiaTable> for ChiaTableGenerator

Available on crate feature alloc only.
Source§

impl TableGenerator<ShimTable> for ShimTableGenerator

Available on crate feature alloc only.