Trait live_entity::Store

source ·
pub trait Store: Send + Sync + Clone + 'static {
Show 13 methods // Required methods fn create<'life0, 'life1, 'async_trait, E>( &'life0 self, entity: &'life1 E ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn update<'life0, 'life1, 'life2, 'async_trait, E>( &'life0 self, id: &'life1 E::ID, update: &'life2 E::Update ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait; fn delete_all<'life0, 'async_trait, E>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait; fn delete_by_id<'life0, 'life1, 'async_trait, E>( &'life0 self, id: &'life1 E::ID ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn get_all<'life0, 'async_trait, E>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Vec<E>, Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait; fn get_by_id<'life0, 'life1, 'async_trait, E>( &'life0 self, id: &'life1 E::ID ) -> Pin<Box<dyn Future<Output = Result<E, Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait; fn watch<'life0, 'async_trait, E>( &'life0 self, channel: Sender<Event<E>> ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait; // Provided methods fn create_singleton<'life0, 'life1, 'async_trait, S>( &'life0 self, entity: &'life1 S ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn update_singleton<'life0, 'life1, 'async_trait, S>( &'life0 self, update: &'life1 S::Update ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait { ... } fn delete_singleton<'life0, 'async_trait, S>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait { ... } fn get_singleton<'life0, 'async_trait, S>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<S, Box<dyn Error>>> + Send + 'async_trait>> where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait { ... } fn watch_singleton<'life0, 'async_trait, S>( &'life0 self, channel: Sender<SingletonEvent<S>>, capacity: usize ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait { ... } fn sync<'life0, 'async_trait, E>( &'life0 self, channel: Receiver<Event<E>> ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>> where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait { ... }
}

Required Methods§

source

fn create<'life0, 'life1, 'async_trait, E>( &'life0 self, entity: &'life1 E ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn update<'life0, 'life1, 'life2, 'async_trait, E>( &'life0 self, id: &'life1 E::ID, update: &'life2 E::Update ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

source

fn delete_all<'life0, 'async_trait, E>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait,

source

fn delete_by_id<'life0, 'life1, 'async_trait, E>( &'life0 self, id: &'life1 E::ID ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn get_all<'life0, 'async_trait, E>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<Vec<E>, Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait,

source

fn get_by_id<'life0, 'life1, 'async_trait, E>( &'life0 self, id: &'life1 E::ID ) -> Pin<Box<dyn Future<Output = Result<E, Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn watch<'life0, 'async_trait, E>( &'life0 self, channel: Sender<Event<E>> ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait,

Provided Methods§

source

fn create_singleton<'life0, 'life1, 'async_trait, S>( &'life0 self, entity: &'life1 S ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn update_singleton<'life0, 'life1, 'async_trait, S>( &'life0 self, update: &'life1 S::Update ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

source

fn delete_singleton<'life0, 'async_trait, S>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait,

source

fn get_singleton<'life0, 'async_trait, S>( &'life0 self ) -> Pin<Box<dyn Future<Output = Result<S, Box<dyn Error>>> + Send + 'async_trait>>
where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait,

source

fn watch_singleton<'life0, 'async_trait, S>( &'life0 self, channel: Sender<SingletonEvent<S>>, capacity: usize ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where S: 'async_trait + Singleton, Self: 'async_trait, 'life0: 'async_trait,

source

fn sync<'life0, 'async_trait, E>( &'life0 self, channel: Receiver<Event<E>> ) -> Pin<Box<dyn Future<Output = Result<(), Box<dyn Error>>> + Send + 'async_trait>>
where E: 'async_trait + Entity, Self: 'async_trait, 'life0: 'async_trait,

Object Safety§

This trait is not object safe.

Implementors§