pub struct SerializationEngine { /* private fields */ }Expand description
Ticket-based serialization engine ensuring strict per-inode operation ordering.
Implementations§
Source§impl SerializationEngine
impl SerializationEngine
Sourcepub fn is_active(&self, inode: u64) -> bool
pub fn is_active(&self, inode: u64) -> bool
Returns whether any operation is in-flight for the given inode.
Sourcepub async fn acquire_barrier(
self: &Arc<Self>,
inode: u64,
_kind: OpKind,
) -> Result<OpGuard, Error>
pub async fn acquire_barrier( self: &Arc<Self>, inode: u64, _kind: OpKind, ) -> Result<OpGuard, Error>
Acquires a ticket-based barrier for an inode operation. This ensures strict serialization of operations on the same inode based on the order they arrive, preventing deadlocks.
Sourcepub async fn acquire_path_barrier(
self: &Arc<Self>,
path: &PathBuf,
) -> Result<PathGuard, Error>
pub async fn acquire_path_barrier( self: &Arc<Self>, path: &PathBuf, ) -> Result<PathGuard, Error>
Acquires an exclusive path-level lock, waiting if another operation holds it.
Sourcepub fn check_sequence(&self, _inode: u64, _seq: u64) -> bool
pub fn check_sequence(&self, _inode: u64, _seq: u64) -> bool
Legacy sequence checking helpers - now no-ops or simple pass-throughs as the ticket barrier handles ordering implicitly. Legacy no-op: sequence checking is now handled by the ticket barrier.
Sourcepub fn update_sequence(&self, _inode: u64, _seq: u64)
pub fn update_sequence(&self, _inode: u64, _seq: u64)
Legacy no-op: sequence updates are managed internally by the sequencer.
Auto Trait Implementations§
impl !Freeze for SerializationEngine
impl RefUnwindSafe for SerializationEngine
impl Send for SerializationEngine
impl Sync for SerializationEngine
impl Unpin for SerializationEngine
impl UnsafeUnpin for SerializationEngine
impl UnwindSafe for SerializationEngine
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
Converts
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>
Converts
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