Skip to main content

replay_live

Function replay_live 

Source
pub fn replay_live<B, A>(
    term: Terminal<B>,
    app: &mut A,
    recording: &InputRecording,
) -> Result<(), B::Error>
where B: Backend, A: App<B>,
Expand description

Drives recording into app through a live term, once, at recorded pace.

Sleeps out each event’s recorded delay in real wall-clock time, pushes the event into term’s backend, and runs one App::update frame for it, presenting automatically the same way run_on does.

This is “watch it happen”: an ordinary forward playback for a demo or a bug report, not an interactive scrubber (no pause, rewind, or speed control). For driving a recording back through a headless App in a test instead, with no real backend and no wall-clock sleeping, use TestHarness::replay directly; both ultimately drive the same App::update loop and so agree on the resulting state.

Returns once every recorded event has been replayed, or as soon as app returns Flow::Exit, whichever comes first.

§Errors

Returns the backend’s error if an automatic present() call fails.