Skip to main content

MetadataProvider

Trait MetadataProvider 

Source
pub trait MetadataProvider: Send {
    // Required method
    fn get_metadata(&self, key: &str) -> Result<Option<Vec<u8>>, ProviderError>;

    // Provided method
    fn storage_settings(&self) -> Result<Option<StorageSettings>, ProviderError> { ... }
}
Expand description

Client trait for reading node metadata from the database.

Required Methods§

Source

fn get_metadata(&self, key: &str) -> Result<Option<Vec<u8>>, ProviderError>

Get a metadata value by key

Provided Methods§

Source

fn storage_settings(&self) -> Result<Option<StorageSettings>, ProviderError>

Get storage settings for this node.

If the stored metadata can’t be deserialized (e.g. the format changed), this returns None instead of an error so commands like db clear can still operate without requiring a compatible metadata schema.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<'a, T> MetadataProvider for &'a T
where T: 'a + MetadataProvider + ?Sized, &'a T: Send,

Source§

impl<T> MetadataProvider for Arc<T>
where T: MetadataProvider + ?Sized, Arc<T>: Send,

Implementors§