Module parallel_scan

Source

ModulesΒ§

base
For base proofs (Proving new transactions)
btree πŸ”’
merge
For merge proofs: Merging two base proofs or two merge proofs

StructsΒ§

JobValueWithIndex
ParallelScan
SequenceNumber
Sequence number for jobs in the scan state that corresponds to the order in which they were added
SpacePartition
Space available and number of jobs required to enqueue data. first = space on the current tree and number of jobs required to be completed second = If the current-tree space is less than <max_base_jobs> then remaining number of slots on a new tree and the corresponding job count.
Tree
A single tree with number of leaves = max_base_jobs = 2**transaction_capacity_log_2
Weight
The number of new jobs- base and merge that can be added to this tree. Each node has a weight associated to it and the new jobs received are distributed across the tree based on this number.

EnumsΒ§

AvailableJob
All the jobs on a tree that can be done. Base.Full and Merge.Full
Job πŸ”’
New jobs to be added (including new transactions or new merge jobs)
JobStatus
Each node on the tree is viewed as a job that needs to be completed. When a job is completed, it creates a new β€œTodo” job and marks the old job as β€œDone”
ResetKind πŸ”’
Value
WeightLens πŸ”’
WorkForTree πŸ”’

TraitsΒ§

Lens πŸ”’
WithVTable πŸ”’

FunctionsΒ§

assert_job_count πŸ”’
ceil_log2
flatten πŸ”’
hash πŸ”’
int_to_string πŸ”’
sint_to_string πŸ”’
take πŸ”’
take_at πŸ”’
test_update πŸ”’
work πŸ”’
work_to_do πŸ”’

Type AliasesΒ§

JobValue