pub enum AppEvent {
Key(KeyEvent),
Resize(u16, u16),
Tick,
Market(MarketUpdate),
ReplaySeek(SeekTo),
ReplayControl(ReplayControl),
BundleLoaded(BundleLoadResult),
}Expand description
Every input to the synchronous render loop, as one closed set (§4).
Matched exhaustively with no wildcard arm, so a new variant forces every fold
site — notably App::on_event — to be revisited by
the compiler.
The Market variant is far larger than the input/tick variants, but it rides
the hot fan-in path: boxing it would add a heap allocation per quote/Greek
update — exactly what the bounded coalescing channel (#10) exists to avoid
(docs/06-performance.md). The transient over-allocation is bounded by the
channel capacity and small, so the documented unboxed shape (§4) is kept.
Variants§
Key(KeyEvent)
A crossterm key press, from the dedicated terminal-input reader task.
Resize(u16, u16)
The terminal was resized to (columns, rows).
Tick
The render/animation cadence fired (default ~250 ms).
Market(MarketUpdate)
A normalized provider update to fold into the live chain store (§4).
ReplaySeek(SeekTo)
A replay-timeline scrub, in replay mode only
(docs/04-replay-mode.md §4). Folds directly into the in-memory timeline
cursor (the whole bundle is loaded, #33), so it performs no I/O.
ReplayControl(ReplayControl)
A replay playback control (play/pause/speed), in replay mode only
(docs/04-replay-mode.md §4). Folds into the Playback
state; the tick timer advances the cursor while playing.
BundleLoaded(BundleLoadResult)
The result of the off-thread replay-bundle load (loaded or failed),
delivered by the replay load worker (docs/04-replay-mode.md §3,
docs/02-tui-architecture.md §12). Folds the replay
BundleLoad state machine from Loading to Ready
or Error; the render loop never blocks on the load.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for AppEvent
impl RefUnwindSafe for AppEvent
impl Send for AppEvent
impl Sync for AppEvent
impl Unpin for AppEvent
impl UnsafeUnpin for AppEvent
impl UnwindSafe for AppEvent
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§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> ⓘ
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> ⓘ
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.