pub struct Options<'a> {
pub skip_journal_checks: bool,
pub reservation: ReservationOptions<'a>,
pub parent_transaction: Option<&'a Transaction<'a>>,
}Expand description
This allows for special handling of certain transactions such as deletes and the
extension of Journal extents. For most other use cases it is appropriate to use
default() here.
Fields§
§skip_journal_checks: boolIf true, don’t check for low journal space. This should be true for any transactions that might alleviate journal space (i.e. compaction).
reservation: ReservationOptions<'a>How metadata and allocator reservations should be handled for the transaction.
parent_transaction: Option<&'a Transaction<'a>>If set, indicates that this transaction is nested within parent_transaction and shares
its in-flight transaction slot. The use case for this is a nested transaction, where a
separate transaction must be committed while constructing another transaction (for example,
when rolling the object ID cipher).
NOTE: The locks acquired by the nested transaction do not cooperate in any way with the locks already held by parent_transaction, so care must still be taken to avoid deadlocks.
Trait Implementations§
Auto Trait Implementations§
impl<'a> !RefUnwindSafe for Options<'a>
impl<'a> !UnwindSafe for Options<'a>
impl<'a> Freeze for Options<'a>
impl<'a> Send for Options<'a>
impl<'a> Sync for Options<'a>
impl<'a> Unpin for Options<'a>
impl<'a> UnsafeUnpin for Options<'a>
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous1, D> for Twhere
D: ResourceDialect,
§impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
impl<T, D> Encode<Ambiguous2, D> for Twhere
D: ResourceDialect,
§impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
impl<F, N> FidlIntoNative<Box<N>> for Fwhere
F: FidlIntoNative<N>,
fn fidl_into_native(self) -> Box<N>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more