pub struct InProcessRuntime;Expand description
Native in-process runtime — loads first-party Rust plugins directly.
No WASM compilation; no sandbox. Intended for first-party plugins
(RuView MQTT bridge, presence sensor, etc.) that are compiled into the
HOMECORE binary and therefore trusted. Third-party / community plugins
must use the WasmtimeRuntime (P2) for isolation.
Trait Implementations§
Source§impl PluginRuntime for InProcessRuntime
impl PluginRuntime for InProcessRuntime
Source§fn load<'life0, 'async_trait>(
&'life0 self,
id: PluginId,
manifest: PluginManifest,
plugin: Arc<dyn HomeCorePlugin>,
) -> Pin<Box<dyn Future<Output = Result<LoadedPlugin, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn load<'life0, 'async_trait>(
&'life0 self,
id: PluginId,
manifest: PluginManifest,
plugin: Arc<dyn HomeCorePlugin>,
) -> Pin<Box<dyn Future<Output = Result<LoadedPlugin, PluginError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Load a plugin from a boxed
HomeCorePlugin implementation and a
parsed PluginManifest. Returns a LoadedPlugin handle.Auto Trait Implementations§
impl Freeze for InProcessRuntime
impl RefUnwindSafe for InProcessRuntime
impl Send for InProcessRuntime
impl Sync for InProcessRuntime
impl Unpin for InProcessRuntime
impl UnsafeUnpin for InProcessRuntime
impl UnwindSafe for InProcessRuntime
Blanket Implementations§
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
Mutably borrows from an owned value. Read more