Skip to main content

ActiveWorktreeRegistrationGuard

Struct ActiveWorktreeRegistrationGuard 

Source
pub struct ActiveWorktreeRegistrationGuard<'transaction> { /* private fields */ }
Expand description

Transaction-owned capability for one exact active worktree registration.

Construction is restricted to AtlasStore::with_active_worktree_registration so lifecycle-sensitive callers can validate external state and publish one bind or retirement under the same control-catalog writer exclusion.

Implementations§

Source§

impl ActiveWorktreeRegistrationGuard<'_>

Source

pub const fn registration(&self) -> &WorktreeRegistration

Borrow the exact active row reloaded by the transaction.

Source

pub fn bind_project( &mut self, root: &Path, project_instance_id: ProjectInstanceId, ) -> DbResult<WorktreeRegistration>

Bind the exact initialized project inside this transaction.

§Errors

Returns an error for invalid paths, conflicting project identity, malformed persisted state, or any SQLite failure.

Source

pub fn bind_project_with_usage_snapshot( &mut self, root: &Path, project_instance_id: ProjectInstanceId, snapshot: &WorktreeUsageSnapshot, ) -> DbResult<(WorktreeRegistration, WorktreeUsageSyncState)>

Bind this project and accept its initial usage snapshot atomically.

§Errors

Returns an error for invalid paths, conflicting project or telemetry identity, malformed or excessive snapshot state, or any SQLite failure.

Source

pub fn synchronize_usage_snapshot( &mut self, snapshot: &WorktreeUsageSnapshot, ) -> DbResult<WorktreeUsageSyncState>

Accept one usage snapshot for this already-bound active registration.

§Errors

Returns an error for a missing or mismatched project identity, malformed or excessive snapshot state, or any SQLite failure.

Source

pub fn retire( &mut self, retired_at_epoch: u64, ) -> DbResult<WorktreeRegistration>

Retire this active registration without importing another local snapshot.

§Errors

Returns an error for an invalid time, malformed persisted state, or any SQLite failure.

Source

pub fn retire_with_usage_snapshot( &mut self, root: &Path, project_instance_id: ProjectInstanceId, snapshot: &WorktreeUsageSnapshot, retired_at_epoch: u64, ) -> DbResult<(WorktreeRegistration, WorktreeUsageSyncState)>

Bind, synchronize one writer-excluded local snapshot, and retire atomically.

§Errors

Returns an error for invalid paths or times, a mismatched project or telemetry identity, malformed persisted state, or any SQLite failure.

Auto Trait Implementations§

§

impl<'transaction> !RefUnwindSafe for ActiveWorktreeRegistrationGuard<'transaction>

§

impl<'transaction> !Send for ActiveWorktreeRegistrationGuard<'transaction>

§

impl<'transaction> !Sync for ActiveWorktreeRegistrationGuard<'transaction>

§

impl<'transaction> !UnwindSafe for ActiveWorktreeRegistrationGuard<'transaction>

§

impl<'transaction> Freeze for ActiveWorktreeRegistrationGuard<'transaction>

§

impl<'transaction> Unpin for ActiveWorktreeRegistrationGuard<'transaction>

§

impl<'transaction> UnsafeUnpin for ActiveWorktreeRegistrationGuard<'transaction>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.