pub struct RwTxn<'p> { /* private fields */ }
Expand description
A read-write transaction.
§LMDB Limitations
Only one RwTxn
may exist in the same environment at the same time.
If two exist, the new one may wait on a mutex for RwTxn::commit
or RwTxn::abort
to
be called for the first one.
§OSX/Darwin Limitation
At least 10 transactions can be active at the same time in the same process, since only 10 POSIX semaphores can be active at the same time for a process. Threads are in the same process space.
If the process crashes in the POSIX semaphore locking section of the transaction, the semaphore will be kept locked.
Note: if your program already use POSIX semaphores, you will have less available for heed/LMDB!
You may increase the limit by editing it at your own risk: /Library/LaunchDaemons/sysctl.plist
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl<'p> Freeze for RwTxn<'p>
impl<'p> RefUnwindSafe for RwTxn<'p>
impl<'p> !Send for RwTxn<'p>
impl<'p> !Sync for RwTxn<'p>
impl<'p> Unpin for RwTxn<'p>
impl<'p> UnwindSafe for RwTxn<'p>
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