Skip to main content

QueryKeyPackageHistory

Trait QueryKeyPackageHistory 

Source
pub trait QueryKeyPackageHistory {
    // Required methods
    fn store_key_package_history_entry(
        &self,
        key_package_hash_ref: Vec<u8>,
        post_quantum_public_key: Option<Vec<u8>>,
    ) -> Result<StoredKeyPackageHistoryEntry, StorageError>;
    fn find_key_package_history_entry_by_hash_ref(
        &self,
        hash_ref: Vec<u8>,
    ) -> Result<StoredKeyPackageHistoryEntry, StorageError>;
    fn find_key_package_history_entries_before_id(
        &self,
        id: i32,
    ) -> Result<Vec<StoredKeyPackageHistoryEntry>, StorageError>;
    fn record_key_package_publication(
        &self,
        history_id: i32,
        sequence: Cursor,
    ) -> Result<(), StorageError>;
    fn get_expired_key_packages(
        &self,
    ) -> Result<Vec<StoredKeyPackageHistoryEntry>, StorageError>;
    fn min_key_package_delete_at_ns(&self) -> Result<Option<i64>, StorageError>;
    fn delete_key_package_entry_with_id(
        &self,
        id: i32,
    ) -> Result<(), StorageError>;
}

Required Methods§

Source

fn store_key_package_history_entry( &self, key_package_hash_ref: Vec<u8>, post_quantum_public_key: Option<Vec<u8>>, ) -> Result<StoredKeyPackageHistoryEntry, StorageError>

Source

fn find_key_package_history_entry_by_hash_ref( &self, hash_ref: Vec<u8>, ) -> Result<StoredKeyPackageHistoryEntry, StorageError>

Source

fn find_key_package_history_entries_before_id( &self, id: i32, ) -> Result<Vec<StoredKeyPackageHistoryEntry>, StorageError>

Source

fn record_key_package_publication( &self, history_id: i32, sequence: Cursor, ) -> Result<(), StorageError>

Retire keys by confirmed publication order, not local creation order. The latest published key stays usable; duplicate receipts keep the first retirement deadline.

Source

fn get_expired_key_packages( &self, ) -> Result<Vec<StoredKeyPackageHistoryEntry>, StorageError>

Source

fn min_key_package_delete_at_ns(&self) -> Result<Option<i64>, StorageError>

Soonest pending delete_at_ns across all key packages marked for deletion, or None if none are marked. The KpDeletion task’s reschedule source.

Source

fn delete_key_package_entry_with_id(&self, id: i32) -> Result<(), StorageError>

Implementations on Foreign Types§

Source§

impl<T> QueryKeyPackageHistory for &T

Implementors§