pub struct PersistentStorageSession {
pub catalog: Arc<dyn CatalogFacade>,
pub backend: Arc<dyn PersistentStorageBackend>,
}Expand description
Session-bound catalog and physical storage handles created together.
Both handles must share the same transaction context. Keeping their construction behind one provider prevents a catalog write from escaping through a different connection or transaction than document/index writes.
Fields§
§catalog: Arc<dyn CatalogFacade>§backend: Arc<dyn PersistentStorageBackend>Implementations§
Source§impl PersistentStorageSession
impl PersistentStorageSession
pub fn new( catalog: Arc<dyn CatalogFacade>, backend: Arc<dyn PersistentStorageBackend>, ) -> Self
Sourcepub fn validate_transaction_affinity(&self) -> StorageBackendResult<()>
pub fn validate_transaction_affinity(&self) -> StorageBackendResult<()>
Check the transaction model, database incarnation and session affinity before restoration, migration or attachment. Versioned pairs require a matching reported affinity and backend write cancellation; serialized pairs may omit both capabilities.
Auto Trait Implementations§
impl !RefUnwindSafe for PersistentStorageSession
impl !UnwindSafe for PersistentStorageSession
impl Freeze for PersistentStorageSession
impl Send for PersistentStorageSession
impl Sync for PersistentStorageSession
impl Unpin for PersistentStorageSession
impl UnsafeUnpin for PersistentStorageSession
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more