pub struct EngineHandle { /* private fields */ }Implementations§
Source§impl EngineHandle
impl EngineHandle
pub fn spawn( cfg: Config, synth: Box<dyn Synthesizer>, sink: Box<dyn AudioSink>, ) -> EngineHandle
Sourcepub fn send(&self, cmd: Command)
pub fn send(&self, cmd: Command)
Fire and forget. A dead engine thread silently drops the command — the daemon notices through the snapshot, not here.
Sourcepub fn submit(&self, text: String, opts: SayOpts) -> Result<Option<u64>, String>
pub fn submit(&self, text: String, opts: SayOpts) -> Result<Option<u64>, String>
Submit text and wait for the engine’s answer.
Sourcepub fn replace_sink(&self, sink: Box<dyn AudioSink>)
pub fn replace_sink(&self, sink: Box<dyn AudioSink>)
Hand the engine a fresh audio device after a failure. Fire and
forget, like send: the daemon learns the outcome through the next
published snapshot.
Sourcepub fn has_shut_down(&self) -> bool
pub fn has_shut_down(&self) -> bool
Whether the engine thread has exited, for any reason: shutdown was
called, a Command::Shutdown arrived over the channel (e.g. from a
D-Bus Quit call), or the thread panicked. Lets the daemon’s main
loop notice a dead engine without having to poll shutdown itself.
Sourcepub fn shutdown(&self)
pub fn shutdown(&self)
Ask the engine thread to stop, and wait for it. Safe to call more
than once, including concurrently from two clones: only the first
caller to take the JoinHandle actually joins it, and every other
caller’s Shutdown send is a harmless no-op once the thread has
already exited (the channel is simply dropped along with it).
Trait Implementations§
Source§impl Clone for EngineHandle
impl Clone for EngineHandle
Source§fn clone(&self) -> EngineHandle
fn clone(&self) -> EngineHandle
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more