we_trust_sqlite/
adapter.rs1use crate::connection::SqliteConnection;
2use crate::executor::SqliteExecutor;
3use crate::reader::NativeReader;
4use crate::writer::NativeWriter;
5use std::sync::Arc;
6use yykv_types::DsError;
7
8type Result<T> = std::result::Result<T, DsError>;
9
10pub struct SqliteAdapter;
11
12impl SqliteAdapter {
13 pub async fn connect(path: &str) -> Result<SqliteConnection> {
14 let reader: Arc<NativeReader> = Arc::new(NativeReader::new(path));
15 let writer: Arc<NativeWriter> = Arc::new(NativeWriter::new(path));
16 let executor = Arc::new(SqliteExecutor::new(reader.clone(), writer.clone()));
17
18 Ok(SqliteConnection::new(reader, writer, executor))
19 }
20}