use tokio::sync::mpsc::{self, Sender}; use crate::models::actor::{Actor, AsyncActor}; pub mod account; pub mod tx_processor; pub fn run_actor(mut actor: E) -> Sender where T: 'static + Send, E: 'static + Actor + Send { let (tx, mut rx) = mpsc::channel(32); tokio::spawn(async move { while let Some(msg) = rx.recv().await { let _ = actor.handle(msg); } }); tx } pub fn run_async_actor(mut actor: E) -> Sender where T: 'static + Send, E: 'static + AsyncActor + Send { let (tx, mut rx) = mpsc::channel(32); tokio::spawn(async move { while let Some(msg) = rx.recv().await { let _ = actor.handle(msg).await; } }); tx }