Skip to main content

run_event_loop

Function run_event_loop 

Source
pub async fn run_event_loop(
    terminal: &mut Terminal<CrosstermBackend<Stdout>>,
    app: &mut App,
    cwd: &Path,
    registry: Option<Arc<ProviderRegistry>>,
    session: &mut Session,
    bus_handle: &mut BusHandle,
    worker_bridge: Option<TuiWorkerBridge>,
    event_tx: Sender<SessionEvent>,
    event_rx: Receiver<SessionEvent>,
    result_tx: Sender<Result<Session>>,
    result_rx: Receiver<Result<Session>>,
) -> Result<()>
Expand description

Drive the TUI draw-event-dispatch loop until quit.

Continuously redraws the UI, then uses tokio::select! to multiplex terminal events, session events, results, a watchdog stall timer, and a 50 ms background tick.

§Examples

run_event_loop(
    &mut terminal, &mut app, cwd, registry,
    &mut session, &mut bus, bridge, tx, rx, rtx, rrx,
).await?;