pub trait DataRegistry<DataId, CollectionId> {
    type Collection: DataCollection<DataId, Data = Self::Data>;
    type Data;

    // Required methods
    fn get(
        data_id: &DataId,
        collection_id: &CollectionId
    ) -> Result<Self::Data, DispatchError>;
    fn collection(
        collection_id: &CollectionId
    ) -> Result<Self::Collection, DispatchError>;
    fn register_id(
        data_id: &DataId,
        collection_id: &CollectionId
    ) -> DispatchResult;
    fn unregister_id(
        data_id: &DataId,
        collection_id: &CollectionId
    ) -> DispatchResult;
}
Expand description

Abstraction that represents a storage where you can subscribe to data updates and collect them

Required Associated Types§

source

type Collection: DataCollection<DataId, Data = Self::Data>

A collection of data

source

type Data

Represents a data

Required Methods§

source

fn get( data_id: &DataId, collection_id: &CollectionId ) -> Result<Self::Data, DispatchError>

Return the last data value for a data id in a collection

source

fn collection( collection_id: &CollectionId ) -> Result<Self::Collection, DispatchError>

Retrives a collection of data with all data associated to a collection id

source

fn register_id(data_id: &DataId, collection_id: &CollectionId) -> DispatchResult

Start listening data changes for a data id in a collection id

source

fn unregister_id( data_id: &DataId, collection_id: &CollectionId ) -> DispatchResult

Start listening data changes for a data id in a collection id

Object Safety§

This trait is not object safe.

Implementors§