diff options
author | hozan23 <hozan23@proton.me> | 2023-11-15 17:16:39 +0300 |
---|---|---|
committer | hozan23 <hozan23@proton.me> | 2023-11-15 17:16:39 +0300 |
commit | 78884caca030104557ca277dd3a41cefb70f5be8 (patch) | |
tree | c33650dfe44a219e395dff1966d298b58b09acb3 /core/src/lib.rs | |
parent | f0729022589ee8e48b5558ab30462f95d06fe6df (diff) |
improve the TaskGroup API
the TaskGroup now holds an Executor instead of passing it when calling
its spawn method
also, define a global executor `Executor<'static>` and use static
lifetime instead of a lifetime placeholder
This improvement simplify the code for spawning a new task. There is no
need to pass the executor around.
Diffstat (limited to 'core/src/lib.rs')
-rw-r--r-- | core/src/lib.rs | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/core/src/lib.rs b/core/src/lib.rs index 83af888..fef7459 100644 --- a/core/src/lib.rs +++ b/core/src/lib.rs @@ -4,7 +4,7 @@ pub mod utils; /// A module containing async utilities that work with the `smol` async runtime. pub mod async_utils; -/// Represents Karyons's Core Error. +/// Represents karyons's Core Error. pub mod error; /// [`EventSys`](./event/struct.EventSys.html) Implementation @@ -13,9 +13,13 @@ pub mod event; /// A simple publish-subscribe system.[`Read More`](./pubsub/struct.Publisher.html) pub mod pubsub; -use error::Result; use smol::Executor as SmolEx; use std::sync::Arc; -/// A wrapper for smol::Executor +/// A pointer to an Executor pub type Executor<'a> = Arc<SmolEx<'a>>; + +/// A Global Executor +pub type GlobalExecutor = Arc<SmolEx<'static>>; + +use error::Result; |