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
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 24 bytes