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}