tigrbl_rs_ports 0.4.1

Trait and envelope boundaries for Rust atoms, handlers, engines, and callbacks.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::errors::PortResult;
use tigrbl_rs_spec::values::Value;

#[derive(Debug, Clone, PartialEq, Eq)]
pub enum CallbackKind {
    Rust,
    Python,
}

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct CallbackRef {
    pub kind: CallbackKind,
    pub name: String,
}

pub trait CallbackPort: Send + Sync {
    fn invoke(&self, callback: &CallbackRef, payload: Value) -> PortResult<Value>;
}