pub type RunnerGuard = Option<Box<dyn Any>>;Expand description
A backend-owned resource that must stay alive until the runtime’s event loop has joined.
The shared-library backend returns its loaded libloading::Library here.
Since dora-rs/dora#2742 the main loop no longer holds Arrow arrays exported
by the operator — outputs are encoded into dora-owned samples on the operator
thread (see RuntimeHandle::send_output) — but other values can still
carry .so-resident vtables across the channel, most notably an
OperatorEvent::Panic payload. Unloading the library while the loop may
still hold one dangles those, so crate::main binds the guard for the
whole run and drops it last.
It is deliberately opaque (Box<dyn Any>) so dora-runtime-api stays
language-neutral — it never needs to name libloading or any other
backend-specific type. Backends with nothing to keep alive return None.
Aliased Type§
pub enum RunnerGuard {
None,
Some(Box<dyn Any>),
}