Trait Database

Source
pub trait Database: Debug {
    type Error: Error;

    // Required methods
    fn add_session(
        &mut self,
        session: Session,
    ) -> Result<Box<dyn DatabaseSession<Error = Self::Error>>, Self::Error>;
    fn remove_session(&mut self, session: Session) -> Result<(), Self::Error>;
    fn get_sessions(
        &self,
    ) -> Result<Vec<Box<dyn DatabaseSession<Error = Self::Error>>>, Self::Error>;
}
Expand description

Database backend

Storage backend for the database.

Required Associated Types§

Required Methods§

Source

fn add_session( &mut self, session: Session, ) -> Result<Box<dyn DatabaseSession<Error = Self::Error>>, Self::Error>

Add a session to the database

Source

fn remove_session(&mut self, session: Session) -> Result<(), Self::Error>

Add a session to the database

Source

fn get_sessions( &self, ) -> Result<Vec<Box<dyn DatabaseSession<Error = Self::Error>>>, Self::Error>

Get an interation over sessions in the database

Trait Implementations§

Source§

impl<E> Database for Box<dyn Database<Error = E>>
where E: Error,

Source§

type Error = E

Source§

fn add_session( &mut self, session: Session, ) -> Result<Box<dyn DatabaseSession<Error = Self::Error>>, Self::Error>

Add a session to the database
Source§

fn remove_session(&mut self, session: Session) -> Result<(), Self::Error>

Add a session to the database
Source§

fn get_sessions( &self, ) -> Result<Vec<Box<dyn DatabaseSession<Error = Self::Error>>>, Self::Error>

Get an interation over sessions in the database

Implementations on Foreign Types§

Source§

impl<E> Database for Box<dyn Database<Error = E>>
where E: Error,

Source§

type Error = E

Source§

fn add_session( &mut self, session: Session, ) -> Result<Box<dyn DatabaseSession<Error = Self::Error>>, Self::Error>

Source§

fn remove_session(&mut self, session: Session) -> Result<(), Self::Error>

Source§

fn get_sessions( &self, ) -> Result<Vec<Box<dyn DatabaseSession<Error = Self::Error>>>, Self::Error>

Implementors§