pub struct Arbiter { /* private fields */ }
Expand description
An Arbiter represents a thread that provides an asynchronous execution environment for futures and functions.
When an arbiter is created, it spawns a new OS thread, and hosts an event loop.
Implementations§
source§impl Arbiter
impl Arbiter
sourcepub fn with_tokio_rt<F>(runtime_factory: F) -> Arbiter
Available on not (Linux and crate feature io-uring
).
pub fn with_tokio_rt<F>(runtime_factory: F) -> Arbiter
io-uring
).Spawn a new Arbiter using the Tokio Runtime returned from a closure.
sourcepub fn handle(&self) -> ArbiterHandle
pub fn handle(&self) -> ArbiterHandle
Return a handle to the this Arbiter’s message sender.
sourcepub fn current() -> ArbiterHandle
pub fn current() -> ArbiterHandle
Return a handle to the current thread’s Arbiter’s message sender.
§Panics
Panics if no Arbiter is running on the current thread.
sourcepub fn try_current() -> Option<ArbiterHandle>
pub fn try_current() -> Option<ArbiterHandle>
Try to get current running arbiter handle.
Returns None
if no Arbiter has been started.
Unlike current
, this never panics.
sourcepub fn stop(&self) -> bool
pub fn stop(&self) -> bool
Stop Arbiter from continuing it’s event loop.
Returns true if stop message was sent successfully and false if the Arbiter has been dropped.
sourcepub fn spawn<Fut>(&self, future: Fut) -> bool
pub fn spawn<Fut>(&self, future: Fut) -> bool
Send a future to the Arbiter’s thread and spawn it.
If you require a result, include a response channel in the future.
Returns true if future was sent successfully and false if the Arbiter has died.