Skip to main content

Module disperse

Module disperse 

Source

Structs§

BucketTrace 🔒
Records the last bucket’s assembled_event and the first bucket’s VidSharesUnicastStart. With several buckets assembled_event can come after VidSharesUnicastStart. Built only when a tracer is registered.
BuiltDispersal
A block’s dispersal, computed by the block builder together with its commitment, so the disperser only signs and sends it.
VidDisperseOutput
VidDisperseRequest
VidDisperser

Enums§

Bucket 🔒
The namespace dispersals of one bucket, which go out as one fragment per recipient.
Dispersal
A block for disperse_payload to send.
VidDisperseError

Statics§

NUM_THREADS 🔒

Functions§

bucketize 🔒
Group namespace indices into buckets whose payload sizes are each at least threshold bytes (except possibly the last), coalescing small namespaces so the disperser sends one message per bucket rather than one per namespace.
disperse_namespace 🔒
Erasure-codes the namespace at ns_index of the payload in params.
disperse_payload
Signs a block’s dispersal and hands every recipient’s fragment of each bucket of namespaces to send, which the disperser points at the network. A Dispersal::Encode is erasure-coded bucket by bucket first. The block_build bench in espresso-types passes a send that only serializes; the spans time each step.
fragments 🔒
One fragment per recipient in params, carrying its shares of dispersals.
handle_vid_disperse_request 🔒
into_buckets 🔒
Moves each namespace’s dispersal into its bucket. dispersals holds one per namespace, in namespace-table order, and ns_buckets partitions the namespace indices.