OpfsSAHPoolUtil

Struct OpfsSAHPoolUtil 

Source
pub struct OpfsSAHPoolUtil { /* private fields */ }
Expand description

SAHPoolVfs management tool.

Implementations§

Source§

impl OpfsSAHPoolUtil

Source

pub fn get_capacity(&self) -> u32

Returns the number of files currently contained in the SAH pool.

Source

pub async fn add_capacity(&self, n: u32) -> Result<u32, OpfsSAHError>

Adds n entries to the current pool.

Source

pub async fn reduce_capacity(&self, n: u32) -> Result<u32, OpfsSAHError>

Removes up to n entries from the pool, with the caveat that it can only remove currently-unused entries.

Source

pub async fn reserve_minimum_capacity( &self, min: u32, ) -> Result<(), OpfsSAHError>

Removes up to n entries from the pool, with the caveat that it can only remove currently-unused entries.

Source§

impl OpfsSAHPoolUtil

Source

pub fn import_db( &self, filename: &str, bytes: &[u8], ) -> Result<(), OpfsSAHError>

Imports the contents of an SQLite database, provided as a byte array under the given name, overwriting any existing content.

If the database is imported with WAL mode enabled, it will be forced to write back to legacy mode, see https://sqlite.org/forum/forumpost/67882c5b04.

If the imported database is encrypted, use import_db_unchecked instead.

Source

pub fn import_db_unchecked( &self, filename: &str, bytes: &[u8], ) -> Result<(), OpfsSAHError>

import_db without checking, can be used to import encrypted database.

Source

pub fn export_db(&self, filename: &str) -> Result<Vec<u8>, OpfsSAHError>

Export the database.

Source

pub fn delete_db(&self, filename: &str) -> Result<bool, OpfsSAHError>

Delete the specified database, make sure that the database is closed.

Source

pub async fn clear_all(&self) -> Result<(), OpfsSAHError>

Delete all database, make sure that all database is closed.

Source

pub fn exists(&self, filename: &str) -> Result<bool, OpfsSAHError>

Does the database exists.

Source

pub fn list(&self) -> Vec<String>

List all files.

Source

pub fn count(&self) -> u32

Number of files.

Source

pub fn pause_vfs(&self) -> Result<(), OpfsSAHError>

“Pauses” this VFS by unregistering it from SQLite and relinquishing all open SAHs, leaving the associated files intact. If this instance is already paused, this is a no-op. Returns a Result.

This method returns an error if SQLite has any opened file handles hosted by this VFS, as the alternative would be to invoke Undefined Behavior by closing file handles out from under the library. Similarly, automatically closing any database handles opened by this VFS would invoke Undefined Behavior in downstream code which is holding those pointers.

If this method returns and error due to open file handles then it has no side effects. If the OPFS API returns an error while closing handles then the VFS is left in an undefined state.

Source

pub async fn unpause_vfs(&self) -> Result<(), OpfsSAHError>

“Unpauses” this VFS, reacquiring all SAH’s and (if successful) re-registering it with SQLite. This is a no-op if the VFS is not currently paused.

The returned a Result. See acquire_access_handles() for how it behaves if it returns an error due to SAH acquisition failure.

Source

pub fn is_paused(&self) -> bool

Check if VFS is paused.

Trait Implementations§

Source§

impl Send for OpfsSAHPoolUtil

Because it was previously implemented with Send + Sync by mistake, it is temporarily retained for compatibility reasons and will be removed in the next major version update.

Source§

impl Sync for OpfsSAHPoolUtil

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.