Skip to main content

PluginAction

Trait PluginAction 

Source
pub trait PluginAction:
    Send
    + Sync
    + 'static {
    type Args: Serialize + DeserializeOwned + JsonSchema + Send + 'static;
    type Output: Serialize + DeserializeOwned + JsonSchema + Send + 'static;

    const NAME: &'static str;
    const DESCRIPTION: &'static str;
    const KIND: PluginActionKind;
    const SESSION_PARAM: SessionParam;
}

Required Associated Constants§

Required Associated Types§

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§

Source§

impl PluginAction for MonitorAckWakeOp

Source§

const NAME: &'static str = "monitor.ack_wake"

Source§

const DESCRIPTION: &'static str = "Acknowledge pending monitor wake-ups."

Source§

const KIND: PluginActionKind = PluginActionKind::Command

Source§

const SESSION_PARAM: SessionParam = SessionParam::Required

Source§

type Args = AckWakeArgs

Source§

type Output = ()

Source§

impl PluginAction for MonitorRegisterSpecsOp

Source§

const NAME: &'static str = "monitor.register_specs"

Source§

const DESCRIPTION: &'static str = "Register typed monitor specs for the current session."

Source§

const KIND: PluginActionKind = PluginActionKind::Command

Source§

const SESSION_PARAM: SessionParam = SessionParam::Required

Source§

type Args = RegisterSpecsArgs

Source§

type Output = ()

Source§

impl PluginAction for MonitorStartOp

Source§

const NAME: &'static str = "monitor.start"

Source§

const DESCRIPTION: &'static str = "Start a monitor."

Source§

const KIND: PluginActionKind = PluginActionKind::Command

Source§

const SESSION_PARAM: SessionParam = SessionParam::Required

Source§

type Args = StartMonitorArgs

Source§

type Output = MonitorSnapshot

Source§

impl PluginAction for MonitorStatusOp

Source§

const NAME: &'static str = "monitor.status"

Source§

const DESCRIPTION: &'static str = "Return current monitor status."

Source§

const KIND: PluginActionKind = PluginActionKind::Query

Source§

const SESSION_PARAM: SessionParam = SessionParam::Required

Source§

type Args = MonitorEmptyArgs

Source§

type Output = MonitorSnapshot

Source§

impl PluginAction for MonitorStopOp

Source§

const NAME: &'static str = "monitor.stop"

Source§

const DESCRIPTION: &'static str = "Stop a monitor."

Source§

const KIND: PluginActionKind = PluginActionKind::Command

Source§

const SESSION_PARAM: SessionParam = SessionParam::Required

Source§

type Args = StopMonitorArgs

Source§

type Output = MonitorSnapshot

Source§

impl PluginAction for MonitorTakeUpdatesOp

Source§

const NAME: &'static str = "monitor.take_updates"

Source§

const DESCRIPTION: &'static str = "Drain pending monitor updates."

Source§

const KIND: PluginActionKind = PluginActionKind::Task

Source§

const SESSION_PARAM: SessionParam = SessionParam::Required

Source§

type Args = MonitorEmptyArgs

Source§

type Output = MonitorUpdateBatch