Transition_handlermodule Block_sink : sig ... endmodule Breadcrumb_builder : sig ... endmodule Catchup_scheduler : sig ... endCatchup_scheduler defines a process which schedules catchup jobs and monitors them for invalidation. This allows the transition frontier controller to handle out of order transitions without spinning up and tearing down catchup jobs constantly. The Catchup_scheduler must receive notifications whenever a new transition is added to the transition frontier so that it can determine if any pending catchup jobs can be invalidated. When catchup jobs are invalidated, the catchup scheduler extracts all of the invalidated catchup jobs and spins up a process to materialize breadcrumbs from those transitions, which will write the breadcrumbs back into the processor as if catchup had successfully completed.
module Core_extended_cache : sig ... endGeneric caching library
module Processor : sig ... endThis module contains the transition processor. The transition processor is * the thread in which transitions are attached the to the transition frontier. * * Two types of data are handled by the transition processor: validated external transitions * with precomputed state hashes (via the block producer and validator pipes) * and breadcrumb rose trees (via the catchup pipe).
module Unprocessed_transition_cache : sig ... endmodule Validator : sig ... end