pub struct LockedPlugin {
pub id: PluginId,
pub version: String,
pub source: PluginSource,
pub wasm_hash: String,
pub installed_at: DateTime<Utc>,
}Expand description
A single locked plugin entry recording what was installed and its cryptographic integrity hash.
Fields§
§id: PluginIdUnique plugin identifier.
version: StringSemantic version string from the manifest at install time.
source: PluginSourceWhere the plugin was installed from.
wasm_hash: StringBlake3 hex digest of the WASM module (prefixed with blake3:).
installed_at: DateTime<Utc>When the plugin was installed/last updated.
Implementations§
Source§impl LockedPlugin
impl LockedPlugin
Sourcepub fn new(
id: PluginId,
version: String,
source: PluginSource,
wasm_hash: String,
) -> Self
pub fn new( id: PluginId, version: String, source: PluginSource, wasm_hash: String, ) -> Self
Create a new locked plugin entry with the current timestamp.
Sourcepub fn compute_wasm_hash(wasm_path: &Path) -> PluginResult<String>
pub fn compute_wasm_hash(wasm_path: &Path) -> PluginResult<String>
Compute the blake3 hash of a WASM file and return it in lockfile
format (blake3:<hex>).
§Errors
Returns an I/O error if the file cannot be read.
Sourcepub fn from_manifest(
manifest: &PluginManifest,
plugin_dir: &Path,
source: PluginSource,
) -> PluginResult<Self>
pub fn from_manifest( manifest: &PluginManifest, plugin_dir: &Path, source: PluginSource, ) -> PluginResult<Self>
Create a locked entry from a manifest on disk.
Reads the WASM file (if the entry point is WASM) and computes its blake3 hash.
§Errors
Returns an error if the WASM file can’t be read.
Trait Implementations§
Source§impl Clone for LockedPlugin
impl Clone for LockedPlugin
Source§fn clone(&self) -> LockedPlugin
fn clone(&self) -> LockedPlugin
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LockedPlugin
impl Debug for LockedPlugin
Source§impl<'de> Deserialize<'de> for LockedPlugin
impl<'de> Deserialize<'de> for LockedPlugin
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for LockedPlugin
impl RefUnwindSafe for LockedPlugin
impl Send for LockedPlugin
impl Sync for LockedPlugin
impl Unpin for LockedPlugin
impl UnsafeUnpin for LockedPlugin
impl UnwindSafe for LockedPlugin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> GetSetFdFlags for T
impl<T> GetSetFdFlags for T
Source§fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
fn get_fd_flags(&self) -> Result<FdFlags, Error>where
T: AsFilelike,
Query the “status” flags for the
self file descriptor.Source§fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>where
T: AsFilelike,
Source§fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>where
T: AsFilelike,
Set the “status” flags for the
self file descriptor. Read moreSource§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more