pub enum AccessMode {
ReadWrite,
ReadOnly,
}Expand description
How a Pager (or Wal) intends to use the file: mutating writes vs.
consistent-snapshot reads. Drives the OS-level lock mode, and the
Pager uses it to reject mutation attempts on read-only openers.
ReadWritetakesflock(LOCK_EX)— one writer, no other openers.ReadOnlytakesflock(LOCK_SH)— multiple readers can coexist; a writer is excluded.
This is POSIX-flock semantics, so “multiple readers AND one writer” isn’t supported yet. True concurrent reader-writer access would need a shared-memory coordination file and read marks — that’s deferred.
Variants§
Trait Implementations§
Source§impl Clone for AccessMode
impl Clone for AccessMode
Source§fn clone(&self) -> AccessMode
fn clone(&self) -> AccessMode
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AccessMode
impl Debug for AccessMode
Source§impl PartialEq for AccessMode
impl PartialEq for AccessMode
impl Copy for AccessMode
impl Eq for AccessMode
impl StructuralPartialEq for AccessMode
Auto Trait Implementations§
impl Freeze for AccessMode
impl RefUnwindSafe for AccessMode
impl Send for AccessMode
impl Sync for AccessMode
impl Unpin for AccessMode
impl UnsafeUnpin for AccessMode
impl UnwindSafe for AccessMode
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