pub trait AsyncConnection:
AsyncLowLevelConnection
+ Sized
+ Send
+ Sync {
type Storage: AsyncStorageConnection<Database = Self>;
// Required methods
fn storage(&self) -> Self::Storage;
fn list_executed_transactions<'life0, 'async_trait>(
&'life0 self,
starting_id: Option<u64>,
result_limit: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Executed>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn last_transaction_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn compact<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
fn compact_key_value_store<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait,
'life0: 'async_trait;
// Provided methods
fn collection<C: Collection>(&self) -> AsyncCollection<'_, Self, C> { ... }
fn view<V: SerializedView>(&self) -> AsyncView<'_, Self, V, V::Key> { ... }
fn compact_collection<'life0, 'async_trait, C>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where C: 'async_trait + Collection,
Self: 'async_trait,
'life0: 'async_trait { ... }
}Expand description
A connection to a database’s Schema, giving access to
Collections and
Viewss. All functions on this trait are safe to use
in an asynchronous context.
Required Associated Types§
Sourcetype Storage: AsyncStorageConnection<Database = Self>
type Storage: AsyncStorageConnection<Database = Self>
The AsyncStorageConnection type that is paired with this type.
Required Methods§
Sourcefn storage(&self) -> Self::Storage
fn storage(&self) -> Self::Storage
Returns the StorageConnection implementor that this database belongs
to.
Sourcefn list_executed_transactions<'life0, 'async_trait>(
&'life0 self,
starting_id: Option<u64>,
result_limit: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Executed>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn list_executed_transactions<'life0, 'async_trait>(
&'life0 self,
starting_id: Option<u64>,
result_limit: Option<u32>,
) -> Pin<Box<dyn Future<Output = Result<Vec<Executed>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Lists executed transactions from this Schema. By default, a maximum of
1000 entries will be returned, but that limit can be overridden by
setting result_limit. A hard limit of 100,000 results will be
returned. To begin listing after another known transaction_id, pass
transaction_id + 1 into starting_id.
Sourcefn last_transaction_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn last_transaction_id<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<Option<u64>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Fetches the last transaction id that has been committed, if any.
Sourcefn compact<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn compact<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Compacts the entire database to reclaim unused disk space.
This process is done by writing data to a new file and swapping the file once the process completes. This ensures that if a hardware failure, power outage, or crash occurs that the original collection data is left untouched.
§Errors
Error::Other: an error occurred while compacting the database.
Sourcefn compact_key_value_store<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn compact_key_value_store<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Compacts the key value store to reclaim unused disk space.
This process is done by writing data to a new file and swapping the file once the process completes. This ensures that if a hardware failure, power outage, or crash occurs that the original collection data is left untouched.
§Errors
Error::Other: an error occurred while compacting the database.
Provided Methods§
Sourcefn collection<C: Collection>(&self) -> AsyncCollection<'_, Self, C>
fn collection<C: Collection>(&self) -> AsyncCollection<'_, Self, C>
Accesses a collection for the connected Schema.
Sourcefn view<V: SerializedView>(&self) -> AsyncView<'_, Self, V, V::Key>
fn view<V: SerializedView>(&self) -> AsyncView<'_, Self, V, V::Key>
Accesses a schema::View from this connection.
Sourcefn compact_collection<'life0, 'async_trait, C>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
C: 'async_trait + Collection,
Self: 'async_trait,
'life0: 'async_trait,
fn compact_collection<'life0, 'async_trait, C>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>where
C: 'async_trait + Collection,
Self: 'async_trait,
'life0: 'async_trait,
Compacts the collection to reclaim unused disk space.
This process is done by writing data to a new file and swapping the file once the process completes. This ensures that if a hardware failure, power outage, or crash occurs that the original collection data is left untouched.
§Errors
Error::CollectionNotFound: databasenamedoes not exist.Error::Other: an error occurred while compacting the database.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.