fedimint_core::db

Trait IDatabaseTransactionOpsCoreTyped

Source
pub trait IDatabaseTransactionOpsCoreTyped<'a> {
    // Required methods
    fn get_value<'life0, 'life1, 'async_trait, K>(
        &'life0 mut self,
        key: &'life1 K,
    ) -> Pin<Box<dyn Future<Output = Option<K::Value>> + Send + 'async_trait>>
       where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn insert_entry<'life0, 'life1, 'life2, 'async_trait, K>(
        &'life0 mut self,
        key: &'life1 K,
        value: &'life2 K::Value,
    ) -> Pin<Box<dyn Future<Output = Option<K::Value>> + Send + 'async_trait>>
       where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait,
             K::Value: MaybeSend + MaybeSync,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn insert_new_entry<'life0, 'life1, 'life2, 'async_trait, K>(
        &'life0 mut self,
        key: &'life1 K,
        value: &'life2 K::Value,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait,
             K::Value: MaybeSend + MaybeSync,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait,
             'life2: 'async_trait;
    fn find_by_range<'life0, 'async_trait, K>(
        &'life0 mut self,
        key_range: Range<K>,
    ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = (K, K::Value)> + Send + '_>>> + Send + 'async_trait>>
       where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait,
             K::Value: MaybeSend + MaybeSync,
             Self: 'async_trait,
             'life0: 'async_trait;
    fn find_by_prefix<'life0, 'life1, 'async_trait, KP>(
        &'life0 mut self,
        key_prefix: &'life1 KP,
    ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = (KP::Record, <<KP as DatabaseLookup>::Record as DatabaseRecord>::Value)> + Send + '_>>> + Send + 'async_trait>>
       where KP: DatabaseLookup + MaybeSend + MaybeSync + 'async_trait,
             KP::Record: DatabaseKey,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn find_by_prefix_sorted_descending<'life0, 'life1, 'async_trait, KP>(
        &'life0 mut self,
        key_prefix: &'life1 KP,
    ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = (KP::Record, <<KP as DatabaseLookup>::Record as DatabaseRecord>::Value)> + Send + '_>>> + Send + 'async_trait>>
       where KP: DatabaseLookup + MaybeSend + MaybeSync + 'async_trait,
             KP::Record: DatabaseKey,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn remove_entry<'life0, 'life1, 'async_trait, K>(
        &'life0 mut self,
        key: &'life1 K,
    ) -> Pin<Box<dyn Future<Output = Option<K::Value>> + Send + 'async_trait>>
       where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
    fn remove_by_prefix<'life0, 'life1, 'async_trait, KP>(
        &'life0 mut self,
        key_prefix: &'life1 KP,
    ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
       where KP: DatabaseLookup + MaybeSend + MaybeSync + 'async_trait,
             Self: 'async_trait,
             'life0: 'async_trait,
             'life1: 'async_trait;
}
Expand description

Like IDatabaseTransactionOpsCore, but typed

Implemented via blanket impl for everything that implements IDatabaseTransactionOpsCore that has decoders (implements WithDecoders).

Required Methods§

Source

fn get_value<'life0, 'life1, 'async_trait, K>( &'life0 mut self, key: &'life1 K, ) -> Pin<Box<dyn Future<Output = Option<K::Value>> + Send + 'async_trait>>
where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn insert_entry<'life0, 'life1, 'life2, 'async_trait, K>( &'life0 mut self, key: &'life1 K, value: &'life2 K::Value, ) -> Pin<Box<dyn Future<Output = Option<K::Value>> + Send + 'async_trait>>
where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait, K::Value: MaybeSend + MaybeSync, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn insert_new_entry<'life0, 'life1, 'life2, 'async_trait, K>( &'life0 mut self, key: &'life1 K, value: &'life2 K::Value, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait, K::Value: MaybeSend + MaybeSync, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Source

fn find_by_range<'life0, 'async_trait, K>( &'life0 mut self, key_range: Range<K>, ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = (K, K::Value)> + Send + '_>>> + Send + 'async_trait>>
where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait, K::Value: MaybeSend + MaybeSync, Self: 'async_trait, 'life0: 'async_trait,

Source

fn find_by_prefix<'life0, 'life1, 'async_trait, KP>( &'life0 mut self, key_prefix: &'life1 KP, ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = (KP::Record, <<KP as DatabaseLookup>::Record as DatabaseRecord>::Value)> + Send + '_>>> + Send + 'async_trait>>
where KP: DatabaseLookup + MaybeSend + MaybeSync + 'async_trait, KP::Record: DatabaseKey, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn find_by_prefix_sorted_descending<'life0, 'life1, 'async_trait, KP>( &'life0 mut self, key_prefix: &'life1 KP, ) -> Pin<Box<dyn Future<Output = Pin<Box<dyn Stream<Item = (KP::Record, <<KP as DatabaseLookup>::Record as DatabaseRecord>::Value)> + Send + '_>>> + Send + 'async_trait>>
where KP: DatabaseLookup + MaybeSend + MaybeSync + 'async_trait, KP::Record: DatabaseKey, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn remove_entry<'life0, 'life1, 'async_trait, K>( &'life0 mut self, key: &'life1 K, ) -> Pin<Box<dyn Future<Output = Option<K::Value>> + Send + 'async_trait>>
where K: DatabaseKey + DatabaseRecord + MaybeSend + MaybeSync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Source

fn remove_by_prefix<'life0, 'life1, 'async_trait, KP>( &'life0 mut self, key_prefix: &'life1 KP, ) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>
where KP: DatabaseLookup + MaybeSend + MaybeSync + 'async_trait, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§