aboutsummaryrefslogtreecommitdiff
path: root/core/src/event.rs
diff options
context:
space:
mode:
authorhozan23 <hozan23@karyontech.net>2024-04-11 10:19:20 +0200
committerhozan23 <hozan23@karyontech.net>2024-05-19 13:51:30 +0200
commit0992071a7f1a36424bcfaf1fbc84541ea041df1a (patch)
tree961d73218af672797d49f899289bef295bc56493 /core/src/event.rs
parenta69917ecd8272a4946cfd12c75bf8f8c075b0e50 (diff)
add support for tokio & improve net crate api
Diffstat (limited to 'core/src/event.rs')
-rw-r--r--core/src/event.rs24
1 files changed, 6 insertions, 18 deletions
diff --git a/core/src/event.rs b/core/src/event.rs
index ef40205..e8692ef 100644
--- a/core/src/event.rs
+++ b/core/src/event.rs
@@ -5,14 +5,11 @@ use std::{
sync::{Arc, Weak},
};
+use async_channel::{Receiver, Sender};
use chrono::{DateTime, Utc};
use log::{error, trace};
-use smol::{
- channel::{Receiver, Sender},
- lock::Mutex,
-};
-use crate::{util::random_16, Result};
+use crate::{async_runtime::lock::Mutex, util::random_16, Result};
pub type ArcEventSys<T> = Arc<EventSys<T>>;
pub type WeakEventSys<T> = Weak<EventSys<T>>;
@@ -139,7 +136,7 @@ where
self: &Arc<Self>,
topic: &T,
) -> EventListener<T, E> {
- let chan = smol::channel::unbounded();
+ let chan = async_channel::unbounded();
let topics = &mut self.listeners.lock().await;
@@ -310,6 +307,8 @@ pub trait EventValueTopic: EventValueAny + EventValue {
#[cfg(test)]
mod tests {
+ use crate::async_runtime::block_on;
+
use super::*;
#[derive(Hash, PartialEq, Eq, Debug, Clone)]
@@ -337,11 +336,6 @@ mod tests {
}
#[derive(Clone, Debug, PartialEq)]
- struct D {
- d_value: usize,
- }
-
- #[derive(Clone, Debug, PartialEq)]
struct E {
e_value: usize,
}
@@ -369,12 +363,6 @@ mod tests {
}
}
- impl EventValue for D {
- fn id() -> &'static str {
- "D"
- }
- }
-
impl EventValue for E {
fn id() -> &'static str {
"E"
@@ -396,7 +384,7 @@ mod tests {
#[test]
fn test_event_sys() {
- smol::block_on(async move {
+ block_on(async move {
let event_sys = EventSys::<Topic>::new();
let a_listener = event_sys.register::<A>(&Topic::TopicA).await;