pub enum LatencyClass {
Reflex,
Display,
Background,
}Expand description
How the runtime should schedule a command, and what budget the CI test harness will eventually enforce on it (DESIGN.md §5.2.5).
v1 status: declarative only. Every spec carries a class and
:describe-command surfaces it. The runtime infrastructure that
actually enforces these budgets (cancellation tokens; deadline
timers; bench-time per-class p99 assertions) lands together with
the §5.10 event-bus and the cancellation-token contract. Adding
the field now means hundreds of registrations don’t have to be
retrofitted later.
Variants§
Reflex
Single-stroke editing primitive: cursor motion, char insert,
mode entry, simple delete, scroll. Sync Effect must commit
within the keystroke budget (<2ms p99). The default for
motions, operators, text objects, and small ex-commands.
Display
UI affordance whose sync prelude must appear immediately
(<10ms p99) but whose data may arrive later via events:
completion popup, picker, hover, status segment. The
:describe-* family of help views fits here.
Background
No user-perceived sync budget. File-watcher tick, indexer pass, plugin housekeeping, LSP debounce. Throughput-only.
Implementations§
Source§impl LatencyClass
impl LatencyClass
Trait Implementations§
Source§impl Clone for LatencyClass
impl Clone for LatencyClass
Source§fn clone(&self) -> LatencyClass
fn clone(&self) -> LatencyClass
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for LatencyClass
Source§impl Debug for LatencyClass
impl Debug for LatencyClass
Source§impl Default for LatencyClass
impl Default for LatencyClass
Source§fn default() -> LatencyClass
fn default() -> LatencyClass
Source§impl<'de> Deserialize<'de> for LatencyClass
impl<'de> Deserialize<'de> for LatencyClass
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for LatencyClass
Source§impl PartialEq for LatencyClass
impl PartialEq for LatencyClass
Source§impl Serialize for LatencyClass
impl Serialize for LatencyClass
impl StructuralPartialEq for LatencyClass
Auto Trait Implementations§
impl Freeze for LatencyClass
impl RefUnwindSafe for LatencyClass
impl Send for LatencyClass
impl Sync for LatencyClass
impl Unpin for LatencyClass
impl UnsafeUnpin for LatencyClass
impl UnwindSafe for LatencyClass
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.