Struct FileTreeApplyReport

Source
pub struct FileTreeApplyReport {
    pub deltas: Vec<FileTreeStoreDelta>,
    pub watch_events: Vec<WatchEvent>,
    pub watch_errors: Vec<FileError>,
    pub watch_configuration: Vec<(FileUri, bool, Result<(), FileError>)>,
    pub stale_responses: usize,
    pub mutation_errors: Vec<(FileTreeMutationRequest, FileError)>,
    pub remaining: bool,
}
Expand description

Store effects and provider-side events produced by one applied drain.

Empty vectors mean that category produced no result. Mutation/provider watch failures are collected instead of aborting the remaining batch; store invariant failures are returned directly from drain_into_store.

§Examples

use ailloli_ui_fs_runtime::FileTreeApplyReport;
let report = FileTreeApplyReport::default();
assert!(report.deltas.is_empty());
assert_eq!(report.stale_responses, 0);
assert!(!report.remaining);

Fields§

§deltas: Vec<FileTreeStoreDelta>

Ordered UI-store deltas successfully applied in this batch.

§watch_events: Vec<WatchEvent>

Successfully received watch events, not yet interpreted by the caller.

§watch_errors: Vec<FileError>

Provider watch-poll errors collected without aborting the batch.

§watch_configuration: Vec<(FileUri, bool, Result<(), FileError>)>

Ordered (uri, enabled, result) watch-configuration acknowledgements.

§stale_responses: usize

Directory responses rejected because their store generation was stale.

§mutation_errors: Vec<(FileTreeMutationRequest, FileError)>

Mutation requests and provider errors that prevented store attestation.

§remaining: bool

Whether additional inbox responses await a later bounded drain.

Trait Implementations§

Source§

impl Debug for FileTreeApplyReport

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FileTreeApplyReport

Source§

fn default() -> FileTreeApplyReport

Returns the “default value” for a type. Read more

Auto Trait Implementations§

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.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<T> ErasedDestructor for T
where T: 'static,