Expand description
Logic related to deriving and applying implications from catalog changes.
The flow from “raw” catalog changes to CatalogImplication works like this:
StateUpdateKind -> ParsedStateUpdate -> CatalogImplication
ParsedStateUpdate adds context to a “raw” catalog change (StateUpdateKind). It includes an in-memory representation of the updated object, which can in theory be derived from the raw change but only when we have access to all the other raw changes or to an in-memory Catalog, which represents a “rollup” of all the raw changes.
CatalogImplication is both the state machine that we use for absorbing multiple state updates for the same object and the final command that has to be applied to in-memory state and or the controller(s) after absorbing all the state updates in a given batch of updates.
Modules§
- parsed_
state_ updates - Utilities for parsing and augmenting “raw” catalog changes (StateUpdateKind), so that we can update in-memory adapter state, apply implications, and apply derived commands to the controller(s).
Macros§
- impl_
absorb_ 🔒method - Macro to generate absorb methods for each item type.
Enums§
- Catalog
Implication 🔒 - A state machine for building catalog implications from catalog updates.
- Catalog
Implication 🔒Kind