equix 0.6.1

Asymmetric function for client puzzle protocols
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//! A data structure for the solver's bucket sort layers
//!
//! This module implements the [`hash::KeyValueBucketArray`] and related types,
//! forming the basis of our solver's temporary storage. The basic key/value
//! bucket array is a hash table customized with a fixed capacity and minimal
//! data types. It's organized in a struct-of-arrays fashion, keeping bucket
//! counts in state memory alongside mutable references to external key and
//! value memories.
//!
//! For performance and memory efficiency, the hash table layer is built on
//! a manual memory management layer. Individual bucket arrays are backed
//! by [`mem::BucketArrayMemory`]. Layouts defined at compile time can be
//! marked using the [`mem::Uninit`] trait and constructed from a single large
//! buffer of uninitialized reusable memory.

pub(crate) mod hash;
pub(crate) mod mem;