Trait libsql_sys::wal::wrapper::WrapWal
source · pub trait WrapWal<W: Wal> {
Show 21 methods
// Provided methods
fn limit(&mut self, wrapped: &mut W, size: i64) { ... }
fn begin_read_txn(&mut self, wrapped: &mut W) -> Result<bool> { ... }
fn end_read_txn(&mut self, wrapped: &mut W) { ... }
fn find_frame(
&mut self,
wrapped: &mut W,
page_no: NonZeroU32
) -> Result<Option<NonZeroU32>> { ... }
fn read_frame(
&mut self,
wrapped: &mut W,
frame_no: NonZeroU32,
buffer: &mut [u8]
) -> Result<()> { ... }
fn db_size(&self, wrapped: &W) -> u32 { ... }
fn begin_write_txn(&mut self, wrapped: &mut W) -> Result<()> { ... }
fn end_write_txn(&mut self, wrapped: &mut W) -> Result<()> { ... }
fn undo<U: UndoHandler>(
&mut self,
wrapped: &mut W,
handler: Option<&mut U>
) -> Result<()> { ... }
fn savepoint(&mut self, wrapped: &mut W, rollback_data: &mut [u32]) { ... }
fn savepoint_undo(
&mut self,
wrapped: &mut W,
rollback_data: &mut [u32]
) -> Result<()> { ... }
fn insert_frames(
&mut self,
wrapped: &mut W,
page_size: c_int,
page_headers: &mut PageHeaders,
size_after: u32,
is_commit: bool,
sync_flags: c_int
) -> Result<usize> { ... }
fn checkpoint(
&mut self,
wrapped: &mut W,
db: &mut Sqlite3Db,
mode: CheckpointMode,
busy_handler: Option<&mut dyn BusyHandler>,
sync_flags: u32,
buf: &mut [u8],
checkpoint_cb: Option<&mut dyn CheckpointCallback>,
in_wal: Option<&mut i32>,
backfilled: Option<&mut i32>
) -> Result<()> { ... }
fn exclusive_mode(&mut self, wrapped: &mut W, op: c_int) -> Result<()> { ... }
fn uses_heap_memory(&self, wrapped: &W) -> bool { ... }
fn set_db(&mut self, wrapped: &mut W, db: &mut Sqlite3Db) { ... }
fn callback(&self, wrapped: &W) -> i32 { ... }
fn frames_in_wal(&self, wrapped: &W) -> u32 { ... }
fn open<M: WalManager<Wal = W>>(
&self,
manager: &M,
vfs: &mut Vfs,
file: &mut Sqlite3File,
no_shm_mode: c_int,
max_log_size: i64,
db_path: &CStr
) -> Result<W> { ... }
fn close<M: WalManager<Wal = W>>(
&mut self,
manager: &M,
wrapped: &mut W,
db: &mut Sqlite3Db,
sync_flags: c_int,
scratch: Option<&mut [u8]>
) -> Result<()> { ... }
fn frame_page_no(
&self,
wrapped: &W,
frame_no: NonZeroU32
) -> Option<NonZeroU32> { ... }
}
Expand description
Trait implemented by implementor that only need to wrap around another Wal implementation. By default, all methods delegate to the wrapped wal.
Provided Methods§
fn limit(&mut self, wrapped: &mut W, size: i64)
fn begin_read_txn(&mut self, wrapped: &mut W) -> Result<bool>
fn end_read_txn(&mut self, wrapped: &mut W)
fn find_frame( &mut self, wrapped: &mut W, page_no: NonZeroU32 ) -> Result<Option<NonZeroU32>>
fn read_frame( &mut self, wrapped: &mut W, frame_no: NonZeroU32, buffer: &mut [u8] ) -> Result<()>
fn db_size(&self, wrapped: &W) -> u32
fn begin_write_txn(&mut self, wrapped: &mut W) -> Result<()>
fn end_write_txn(&mut self, wrapped: &mut W) -> Result<()>
fn undo<U: UndoHandler>( &mut self, wrapped: &mut W, handler: Option<&mut U> ) -> Result<()>
fn savepoint(&mut self, wrapped: &mut W, rollback_data: &mut [u32])
fn savepoint_undo( &mut self, wrapped: &mut W, rollback_data: &mut [u32] ) -> Result<()>
fn insert_frames( &mut self, wrapped: &mut W, page_size: c_int, page_headers: &mut PageHeaders, size_after: u32, is_commit: bool, sync_flags: c_int ) -> Result<usize>
fn checkpoint( &mut self, wrapped: &mut W, db: &mut Sqlite3Db, mode: CheckpointMode, busy_handler: Option<&mut dyn BusyHandler>, sync_flags: u32, buf: &mut [u8], checkpoint_cb: Option<&mut dyn CheckpointCallback>, in_wal: Option<&mut i32>, backfilled: Option<&mut i32> ) -> Result<()>
fn exclusive_mode(&mut self, wrapped: &mut W, op: c_int) -> Result<()>
fn uses_heap_memory(&self, wrapped: &W) -> bool
fn set_db(&mut self, wrapped: &mut W, db: &mut Sqlite3Db)
fn callback(&self, wrapped: &W) -> i32
fn frames_in_wal(&self, wrapped: &W) -> u32
fn open<M: WalManager<Wal = W>>( &self, manager: &M, vfs: &mut Vfs, file: &mut Sqlite3File, no_shm_mode: c_int, max_log_size: i64, db_path: &CStr ) -> Result<W>
fn close<M: WalManager<Wal = W>>( &mut self, manager: &M, wrapped: &mut W, db: &mut Sqlite3Db, sync_flags: c_int, scratch: Option<&mut [u8]> ) -> Result<()>
fn frame_page_no(&self, wrapped: &W, frame_no: NonZeroU32) -> Option<NonZeroU32>
Object Safety§
This trait is not object safe.