pub trait Recipe {
type Output;
// Required methods
fn hash(&self, state: &mut Hasher);
fn stream(self: Box<Self>, input: EventStream) -> BoxStream<Self::Output>;
}
Expand description
The description of a Subscription
.
A Recipe
is the internal definition of a Subscription
. It is used
by runtimes to run and identify subscriptions. You can use it to create your
own!
§Examples
The repository has a couple of examples that use a custom Recipe
:
download_progress
, a basic application that asynchronously downloads a dummy file of 100 MB and tracks the download progress.stopwatch
, a watch with start/stop and reset buttons showcasing how to listen to time.
Required Associated Types§
sourcetype Output
type Output
The events that will be produced by a Subscription
with this
Recipe
.
Required Methods§
sourcefn hash(&self, state: &mut Hasher)
fn hash(&self, state: &mut Hasher)
Hashes the Recipe
.
This is used by runtimes to uniquely identify a Subscription
.
sourcefn stream(self: Box<Self>, input: EventStream) -> BoxStream<Self::Output>
fn stream(self: Box<Self>, input: EventStream) -> BoxStream<Self::Output>
Executes the Recipe
and produces the stream of events of its
Subscription
.