pub struct Receiver<T> { /* private fields */ }
Expand description
A receiver for values sent by a Sender
.
Implementations§
Source§impl<T> Receiver<T>where
T: Send + 'static,
impl<T> Receiver<T>where
T: Send + 'static,
Sourcepub fn receive(&self) -> Option<T>
pub fn receive(&self) -> Option<T>
Returns the next value, blocking the current thread until one is available.
Returns None
if there are no Sender
s still connected to this
channel.
Sourcepub fn try_receive(&self) -> Result<T, TryReceiveError>
pub fn try_receive(&self) -> Result<T, TryReceiveError>
Returns the next value if possible, otherwise returning an error describing why a value was unable to be received.
This function will not block the current thread.
Sourcepub fn on_receive<Map>(self, on_receive: Map) -> CallbackHandle
pub fn on_receive<Map>(self, on_receive: Map) -> CallbackHandle
Invokes on_receive
each time a value is sent to this channel.
This function assumes on_receive
may block while waiting on another
thread, another process, another callback, a network request, a locking
primitive, or any other number of ways that could impact other callbacks
from executing.
Sourcepub fn on_receive_try<Map>(self, on_receive: Map) -> CallbackHandle
pub fn on_receive_try<Map>(self, on_receive: Map) -> CallbackHandle
Invokes on_receive
each time a value is sent to this channel. Once an
error is returned, this callback will be removed from the channel.
This function assumes on_receive
may block while waiting on another
thread, another process, another callback, a network request, a locking
primitive, or any other number of ways that could impact other callbacks
from executing.
Once the last callback associated with a channel is removed, Sender
s
will begin returning disconnected errors.
Sourcepub fn on_receive_nonblocking<Map>(self, on_receive: Map) -> CallbackHandle
pub fn on_receive_nonblocking<Map>(self, on_receive: Map) -> CallbackHandle
Invokes on_receive
each time a value is sent to this channel.
This function assumes on_receive
will not block while waiting on
another thread, another process, another callback, a network request, a
locking primitive, or any other number of ways that could impact other
callbacks from executing in a shared environment.
Sourcepub fn on_receive_nonblocking_try<Map>(self, on_receive: Map) -> CallbackHandle
pub fn on_receive_nonblocking_try<Map>(self, on_receive: Map) -> CallbackHandle
Invokes on_receive
each time a value is sent to this channel. Once an
error is returned, this callback will be removed from the channel.
This function assumes on_receive
will not block while waiting on
another thread, another process, another callback, a network request, a
locking primitive, or any other number of ways that could impact other
callbacks from executing in a shared environment.
Once the last callback associated with a channel is removed, Sender
s
will begin returning disconnected errors.
Sourcepub fn on_receive_async<Map, Fut>(self, on_receive: Map) -> CallbackHandle
pub fn on_receive_async<Map, Fut>(self, on_receive: Map) -> CallbackHandle
Invokes on_receive
each time a value is sent to this channel.
Sourcepub fn on_receive_async_try<Map, Fut>(self, on_receive: Map) -> CallbackHandle
pub fn on_receive_async_try<Map, Fut>(self, on_receive: Map) -> CallbackHandle
Invokes on_receive
each time a value is sent to this channel. The
returned future will then be awaited. Once an error is returned, this
callback will be removed from the channel.
Once the last callback associated with a channel is removed, Sender
s
will begin returning disconnected errors.
Trait Implementations§
Source§impl<T> Unwrapped<T> for Receiver<Option<T>>where
T: Send + 'static,
impl<T> Unwrapped<T> for Receiver<Option<T>>where
T: Send + 'static,
Source§fn unwrapped_or_else(self, initial: impl FnOnce() -> T) -> Dynamic<T>
fn unwrapped_or_else(self, initial: impl FnOnce() -> T) -> Dynamic<T>
Source§fn for_each_unwrapped_try<ForEach>(self, for_each: ForEach) -> CallbackHandle
fn for_each_unwrapped_try<ForEach>(self, for_each: ForEach) -> CallbackHandle
Source§fn unwrapped(self) -> Dynamic<T>where
T: Default,
fn unwrapped(self) -> Dynamic<T>where
T: Default,
Source§fn for_each_unwrapped<ForEach>(self, for_each: ForEach) -> CallbackHandle
fn for_each_unwrapped<ForEach>(self, for_each: ForEach) -> CallbackHandle
for_each
when self
is updated with a value that can be
unwrapped.Source§impl<T, E> Unwrapped<T> for Receiver<Result<T, E>>
impl<T, E> Unwrapped<T> for Receiver<Result<T, E>>
Source§fn unwrapped_or_else(self, initial: impl FnOnce() -> T) -> Dynamic<T>
fn unwrapped_or_else(self, initial: impl FnOnce() -> T) -> Dynamic<T>
Source§fn for_each_unwrapped_try<ForEach>(self, for_each: ForEach) -> CallbackHandle
fn for_each_unwrapped_try<ForEach>(self, for_each: ForEach) -> CallbackHandle
Source§fn unwrapped(self) -> Dynamic<T>where
T: Default,
fn unwrapped(self) -> Dynamic<T>where
T: Default,
Source§fn for_each_unwrapped<ForEach>(self, for_each: ForEach) -> CallbackHandle
fn for_each_unwrapped<ForEach>(self, for_each: ForEach) -> CallbackHandle
for_each
when self
is updated with a value that can be
unwrapped.Auto Trait Implementations§
impl<T> Freeze for Receiver<T>
impl<T> !RefUnwindSafe for Receiver<T>
impl<T> Send for Receiver<T>where
T: Send,
impl<T> Sync for Receiver<T>where
T: Send,
impl<T> Unpin for Receiver<T>
impl<T> !UnwindSafe for Receiver<T>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters
when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.§impl<A> Cast for A
impl<A> Cast for A
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle
.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other
into Self
, while performing the appropriate scaling,
rounding and clamping.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T
.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters
when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self
into C
, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoReadOnly<T> for T
impl<T> IntoReadOnly<T> for T
Source§fn into_read_only(self) -> ReadOnly<T>
fn into_read_only(self) -> ReadOnly<T>
self
as a ReadOnly
.Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self
into T
, while performing the appropriate scaling,
rounding and clamping.Source§impl<T> IntoValue<T> for T
impl<T> IntoValue<T> for T
Source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value
.§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors
fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds
error is returned which contains
the unclamped color. Read more