Struct iced_futures::Runtime

source ·
pub struct Runtime<Hasher, Event, Executor, Sender, Message> { /* private fields */ }
Expand description

A batteries-included runtime of commands and subscriptions.

If you have an Executor, a Runtime can be leveraged to run any Command or Subscription and get notified of the results!

Implementations§

source§

impl<Hasher, Event, Executor, Sender, Message> Runtime<Hasher, Event, Executor, Sender, Message>where
    Hasher: Hasher + Default,
    Event: Send + Clone + 'static,
    Executor: Executor,
    Sender: Sink<Message, Error = SendError> + Unpin + MaybeSend + Clone + 'static,
    Message: MaybeSend + 'static,

source

pub fn new(executor: Executor, sender: Sender) -> Self

Creates a new empty Runtime.

You need to provide:

  • an Executor to spawn futures
  • a Sender implementing Sink to receive the results
source

pub fn enter<R>(&self, f: impl FnOnce() -> R) -> R

Runs the given closure inside the Executor of the Runtime.

See Executor::enter to learn more.

source

pub fn spawn(&mut self, future: BoxFuture<Message>)

Spawns a Future in the Runtime.

The resulting Message will be forwarded to the Sender of the Runtime.

source

pub fn track(&mut self, subscription: Subscription<Hasher, Event, Message>)

Tracks a Subscription in the Runtime.

It will spawn new streams or close old ones as necessary! See Tracker::update to learn more about this!

source

pub fn broadcast(&mut self, event: Event)

Broadcasts an event to all the subscriptions currently alive in the Runtime.

See Tracker::broadcast to learn more.

Trait Implementations§

source§

impl<Hasher: Debug, Event: Debug, Executor: Debug, Sender: Debug, Message: Debug> Debug for Runtime<Hasher, Event, Executor, Sender, Message>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<Hasher, Event, Executor, Sender, Message> !RefUnwindSafe for Runtime<Hasher, Event, Executor, Sender, Message>

§

impl<Hasher, Event, Executor, Sender, Message> Send for Runtime<Hasher, Event, Executor, Sender, Message>where
    Event: Send,
    Executor: Send,
    Hasher: Send,
    Message: Send,
    Sender: Send,

§

impl<Hasher, Event, Executor, Sender, Message> Sync for Runtime<Hasher, Event, Executor, Sender, Message>where
    Event: Send,
    Executor: Sync,
    Hasher: Sync,
    Message: Sync,
    Sender: Sync,

§

impl<Hasher, Event, Executor, Sender, Message> Unpin for Runtime<Hasher, Event, Executor, Sender, Message>where
    Executor: Unpin,
    Hasher: Unpin,
    Message: Unpin,
    Sender: Unpin,

§

impl<Hasher, Event, Executor, Sender, Message> !UnwindSafe for Runtime<Hasher, Event, Executor, Sender, Message>

Blanket Implementations§

source§

impl<T> Any for Twhere
    T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere
    T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere
    U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for Twhere
    U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere
    U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.