pub struct PluginCatalogImporter { /* private fields */ }Expand description
Transactional importer for catalog records.
Each mutation builds a complete candidate catalog first. If validation or digest verification fails, the existing index remains byte-for-byte unchanged and no runtime owner has been created.
Implementations§
Source§impl PluginCatalogImporter
impl PluginCatalogImporter
pub fn new() -> Self
pub fn from_catalog( catalog: PluginCatalog, ) -> Result<Self, PluginCatalogImportError>
Sourcepub fn import(
records: impl IntoIterator<Item = PluginCatalogRecord>,
) -> Result<PluginCatalogIndex, PluginCatalogImportError>
pub fn import( records: impl IntoIterator<Item = PluginCatalogRecord>, ) -> Result<PluginCatalogIndex, PluginCatalogImportError>
Creates an immutable index in one step from catalog records.
Sourcepub fn import_json(
bytes: &[u8],
) -> Result<PluginCatalogIndex, PluginCatalogImportError>
pub fn import_json( bytes: &[u8], ) -> Result<PluginCatalogIndex, PluginCatalogImportError>
Creates an immutable index from a canonical catalog JSON snapshot.
pub fn index(&self) -> &PluginCatalogIndex
pub fn into_index(self) -> PluginCatalogIndex
Sourcepub fn import_record(
&mut self,
record: PluginCatalogRecord,
) -> Result<(), PluginCatalogImportError>
pub fn import_record( &mut self, record: PluginCatalogRecord, ) -> Result<(), PluginCatalogImportError>
Imports metadata without reading the artifact path.
Sourcepub fn import_records(
&mut self,
records: impl IntoIterator<Item = PluginCatalogRecord>,
) -> Result<(), PluginCatalogImportError>
pub fn import_records( &mut self, records: impl IntoIterator<Item = PluginCatalogRecord>, ) -> Result<(), PluginCatalogImportError>
Imports a batch atomically. A single invalid or duplicate record leaves the previous index untouched.
pub fn import_json_into( &mut self, bytes: &[u8], ) -> Result<(), PluginCatalogImportError>
Sourcepub fn import_record_at(
&mut self,
record: PluginCatalogRecord,
path: impl AsRef<Path>,
) -> Result<(), PluginCatalogImportError>
pub fn import_record_at( &mut self, record: PluginCatalogRecord, path: impl AsRef<Path>, ) -> Result<(), PluginCatalogImportError>
Verifies one artifact’s bytes and commits its metadata only after the digest matches. The file is streamed and never loaded as a runtime.
Sourcepub fn import_record_from_root(
&mut self,
record: PluginCatalogRecord,
root: impl AsRef<Path>,
) -> Result<(), PluginCatalogImportError>
pub fn import_record_from_root( &mut self, record: PluginCatalogRecord, root: impl AsRef<Path>, ) -> Result<(), PluginCatalogImportError>
Resolves a record path against a package/install root, verifies its digest, and commits it atomically. Absolute installed paths are kept.
pub fn import_records_from_root( &mut self, records: impl IntoIterator<Item = PluginCatalogRecord>, root: impl AsRef<Path>, ) -> Result<(), PluginCatalogImportError>
Trait Implementations§
Source§impl Clone for PluginCatalogImporter
impl Clone for PluginCatalogImporter
Source§fn clone(&self) -> PluginCatalogImporter
fn clone(&self) -> PluginCatalogImporter
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more