vector_core::transform::runtime_transform

Trait RuntimeTransform

Source
pub trait RuntimeTransform {
    // Required method
    fn hook_process<F>(&mut self, event: Event, emit_fn: F)
       where F: FnMut(Event);

    // Provided methods
    fn hook_init<F>(&mut self, _emit_fn: F)
       where F: FnMut(Event) { ... }
    fn hook_shutdown<F>(&mut self, _emit_fn: F)
       where F: FnMut(Event) { ... }
    fn timer_handler<F>(&mut self, _timer: Timer, _emit_fn: F)
       where F: FnMut(Event) { ... }
    fn timers(&self) -> Vec<Timer> { ... }
    fn transform(&mut self, output: &mut OutputBuffer, event: Event) { ... }
}
Expand description

A trait representing a runtime running user-defined code.

Required Methods§

Source

fn hook_process<F>(&mut self, event: Event, emit_fn: F)
where F: FnMut(Event),

Call user-defined “process” hook.

Provided Methods§

Source

fn hook_init<F>(&mut self, _emit_fn: F)
where F: FnMut(Event),

Call user-defined “init” hook.

Source

fn hook_shutdown<F>(&mut self, _emit_fn: F)
where F: FnMut(Event),

Call user-defined “shutdown” hook.

Source

fn timer_handler<F>(&mut self, _timer: Timer, _emit_fn: F)
where F: FnMut(Event),

Call user-defined timer handler.

Source

fn timers(&self) -> Vec<Timer>

Return (static) list of user-defined timers.

Source

fn transform(&mut self, output: &mut OutputBuffer, event: Event)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§