#[derive(Debug, Clone)]
pub struct ArchivedSessionSummary {
pub session_id: String,
pub key: String,
pub size_bytes: u64,
pub last_modified: u64,
}
pub trait SessionArchiveStorage: Send + Sync {
fn store(&self, session_id: &str, data: &[u8]) -> Result<(), String>;
fn list(
&self,
limit: usize,
prefix: Option<&str>,
) -> Result<Vec<ArchivedSessionSummary>, String>;
fn retrieve(&self, session_id: &str) -> Result<Vec<u8>, String>;
fn is_available(&self) -> bool;
}