JAR: Join-Accumulate Refine

15.8. Accumulation (§12)🔗

🔗structure
Jar.AccumulationResult [Jar.JarVariant] : Type
Jar.AccumulationResult [Jar.JarVariant] : Type

Accumulation result: the combined outputs of processing available work reports.

Constructor

Jar.AccumulationResult.mk

Fields

services : Dict Jar.ServiceId Jar.ServiceAccount
privileged : Jar.PrivilegedServices
pendingValidators : Array Jar.ValidatorKey
authQueue : Array (Array Hash)
outputs : Jar.AccumulationOutputs
accQueue : Array (Array (Jar.WorkReport × Array Hash))
accHistory : Array (Array Hash)
accStats : Dict Jar.ServiceId Jar.ServiceStatistics
remainingOpaqueData : Array (ByteArray × ByteArray)
exitReasons : Array (Jar.ServiceId × String)
🔗def
Jar.performAccumulation [Jar.JarVariant] (available : Array Jar.WorkReport) (s : Jar.State) (t' : Jar.Timeslot) (opaqueData : Array (ByteArray × ByteArray)) (entropy' : Jar.Entropy := s.entropy) : Jar.AccumulationResult
Jar.performAccumulation [Jar.JarVariant] (available : Array Jar.WorkReport) (s : Jar.State) (t' : Jar.Timeslot) (opaqueData : Array (ByteArray × ByteArray)) (entropy' : Jar.Entropy := s.entropy) : Jar.AccumulationResult

Perform accumulation of newly available work reports. GP §12. Implements the full queue management: partition, resolve, accumulate.