Structs
- A “background” asset processor that reads asset values from a source
AssetSource
(which corresponds to anAssetReader
/AssetWriter
pair), processes them in some way, and writes them to a destinationAssetSource
. - A flexible
Process
implementation that loads the sourceAsset
using theL
AssetLoader
, then saves thatL
asset using theS
AssetSaver
. - Settings for the
LoadAndSave
Process::Settings
implementation. - A flexible
Process
implementation that loads the sourceAsset
using theL
AssetLoader
, then transforms theL
asset into anS
AssetSaver
asset using theT
AssetTransformer
, and lastly saves the asset using theS
AssetSaver
. - Settings for the
LoadTransformAndSave
Process::Settings
implementation. - Provides scoped data access to the
AssetProcessor
. This must only expose processor data that is represented in the asset’s hash. - The “current” in memory view of the asset space. This is “eventually consistent”. It does not directly represent the state of assets in storage, but rather a valid historical view that will gradually become more consistent as events are processed.
- A “write ahead” logger that helps ensure asset importing is transactional. Prior to processing an asset, we write to the log to indicate it has started After processing an asset, we write to the log to indicate it has finished. On startup, the log can be read to determine if any transactions were incomplete.
- An error that occurs when writing to the
ProcessorTransactionLog
fails.
Enums
- An error that occurs when initializing the
AssetProcessor
. - An error that occurs when validating individual
ProcessorTransactionLog
entries. - An error that is encountered during
Process::process
. - The (successful) result of processing an asset
- The final status of processing an asset
- The current state of the
AssetProcessor
. - An error that occurs when reading from the
ProcessorTransactionLog
fails. - An error that occurs when validating the
ProcessorTransactionLog
fails.
Traits
- A type-erased variant of
Process
that enables interacting with processor implementations without knowing their type. - Asset “processor” logic that reads input asset bytes (stored on
ProcessContext
), processes the value in some way, and then writes the final processed bytes withWriter
. The resulting bytes must be loadable with the givenProcess::OutputLoader
.