Crate ailloli_ui_fs_runtime

Source
Expand description

Worker-owned filesystem sources and bounded UI delivery.

A FileTreeRuntime moves provider I/O off the UI thread, accepts work through a bounded request queue, and returns bounded batches through a wake-aware runtime inbox. FileTreeReconcileScheduler supplies targeted polling only when a provider lacks native watch support.

§Examples

use ailloli_ui_fs_runtime::FileTreeReconcileScheduler;
let scheduler = FileTreeReconcileScheduler::new(false);
assert!(!scheduler.uses_native_watch());
assert!(scheduler.is_empty());

Structs§

FileTreeApplyReport
Store effects and provider-side events produced by one applied drain.
FileTreeMutationEnqueue
Immediate UI-side effects of accepting or coalescing a mutation.
FileTreeMutationRequest
Worker mutation envelope with a monotonically allocated request ID.
FileTreeReconcileScheduler
UI-owned targeted polling policy for sources without native watch support. Only expanded directories are scheduled; rendering never calls it.
FileTreeRuntime
UI-owned handle for one provider worker.
FileTreeRuntimeDrain
One bounded UI drain before any results are applied to a store.
FileTreeWorkerStats
Point-in-time, monotonically accumulated worker metrics.

Enums§

FileTreeEnqueueOutcome
Result of submitting logically deduplicated work to the worker.
FileTreeMutation
Provider mutation executed serially on the filesystem worker.
FileTreeRuntimeError
Failure reported while starting, enqueueing, applying, waking, or stopping.
FileTreeWorkerResponse
One provider result delivered from the worker to the UI thread.

Constants§

FILE_TREE_FINISH_TIMEOUT
Maximum graceful worker-shutdown wait: two seconds.
FILE_TREE_QUEUE_CAPACITY
Maximum number of queued worker requests and undrained UI responses.
FILE_TREE_REMOTE_POLL_INTERVAL
Initial and successful remote reconciliation interval: two seconds.
FILE_TREE_REMOTE_POLL_MAX_BACKOFF
Inclusive ceiling for exponential remote-poll error backoff: 30 seconds.
FILE_TREE_UI_DRAIN_BUDGET
Maximum worker responses applied by one UI drain.