Skip to main content

ExtensionStateCodec

Trait ExtensionStateCodec 

Source
pub trait ExtensionStateCodec:
    Send
    + Sync
    + 'static {
    type State: Serialize + DeserializeOwned + Send + Sync + 'static;

    // Required methods
    fn extension_id(&self) -> ExtensionId;
    fn key(&self) -> ExtensionStateKey;
    fn scope(&self) -> ExtensionStoreScope;
    fn schema_version(&self) -> u32;

    // Provided methods
    fn migrate_state(
        &self,
        _record: &ExtensionStateRecord,
    ) -> Result<Option<ExtensionStateRecord>> { ... }
    fn encode_state(&self, state: &Self::State) -> Result<ExtensionStateRecord> { ... }
    fn decode_state(&self, record: &ExtensionStateRecord) -> Result<Self::State> { ... }
}

Required Associated Types§

Required Methods§

Provided Methods§

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§