bamboo_domain/session/
persistence.rs1use std::io;
2use std::sync::Arc;
3
4use crate::session::types::Session;
5
6#[async_trait::async_trait]
13pub trait RuntimeSessionPersistence: Send + Sync {
14 async fn save_runtime_session(&self, session: &mut Session) -> io::Result<()>;
16}
17
18#[async_trait::async_trait]
19impl<T: RuntimeSessionPersistence + ?Sized> RuntimeSessionPersistence for Arc<T> {
20 async fn save_runtime_session(&self, session: &mut Session) -> io::Result<()> {
21 (**self).save_runtime_session(session).await
22 }
23}