jarust_core/
japlugin.rs

1use crate::prelude::*;
2use async_trait::async_trait;
3use jarust_rt::JaTask;
4use std::time::Duration;
5use tokio::sync::mpsc;
6
7pub trait PluginTask {
8    fn assign_task(&mut self, task: JaTask);
9    fn cancel_task(&mut self);
10}
11
12#[async_trait]
13pub trait Attach {
14    async fn attach(
15        &self,
16        plugin_id: String,
17        timeout: Duration,
18    ) -> Result<(JaHandle, mpsc::UnboundedReceiver<JaResponse>), jarust_interface::Error>;
19}