Store

Trait Store 

Source
pub trait Store:
    Send
    + Sync
    + '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<'async_trait, S>( self: Arc<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 { ... } 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<'async_trait, S>( self: Arc<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,

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,

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§