Skip to main content

HotReloadableKernel

Trait HotReloadableKernel 

pub trait HotReloadableKernel: CheckpointableKernel {
    // Required methods
    fn prepare_for_reload(&mut self) -> Result<(), RingKernelError>;
    fn apply_code(
        &mut self,
        code: &KernelCodeSource,
    ) -> Result<(), RingKernelError>;
    fn resume_after_reload(&mut self) -> Result<(), RingKernelError>;
    fn is_ready_for_reload(&self) -> bool;
}
Expand description

Trait for kernels that support hot reload.

Required Methods§

fn prepare_for_reload(&mut self) -> Result<(), RingKernelError>

Prepare kernel for code swap (drain messages, pause processing).

fn apply_code(&mut self, code: &KernelCodeSource) -> Result<(), RingKernelError>

Apply new code to the kernel.

fn resume_after_reload(&mut self) -> Result<(), RingKernelError>

Resume processing after reload.

fn is_ready_for_reload(&self) -> bool

Check if kernel is ready for reload.

Implementors§