pub struct Builder<T, Mode = SingleConsumer> { /* private fields */ }
Expand description
Builds a Cushy channel.
This type can be used to create all types of channels supported by Cushy.
See the channel
module documentation for an overview of the
channels provided.
Implementations§
Source§impl<T> Builder<T, SingleConsumer>
impl<T> Builder<T, SingleConsumer>
Source§impl<T, Mode> Builder<T, Mode>where
T: Send + 'static,
Mode: ChannelMode<T> + ChannelMode<T, Next = <Mode as ChannelMode<T>>::Next>,
impl<T, Mode> Builder<T, Mode>where
T: Send + 'static,
Mode: ChannelMode<T> + ChannelMode<T, Next = <Mode as ChannelMode<T>>::Next>,
Sourcepub fn on_receive<Map>(
self,
on_receive: Map,
) -> Builder<T, <Mode as ChannelMode<T>>::Next>
pub fn on_receive<Map>( self, on_receive: Map, ) -> Builder<T, <Mode as ChannelMode<T>>::Next>
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,
map: Map,
) -> Builder<T, <Mode as ChannelMode<T>>::Next>
pub fn on_receive_try<Map>( self, map: Map, ) -> Builder<T, <Mode as ChannelMode<T>>::Next>
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,
) -> Builder<T, <Mode as ChannelMode<T>>::Next>
pub fn on_receive_nonblocking<Map>( self, on_receive: Map, ) -> Builder<T, <Mode as ChannelMode<T>>::Next>
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,
map: Map,
) -> Builder<T, <Mode as ChannelMode<T>>::Next>
pub fn on_receive_nonblocking_try<Map>( self, map: Map, ) -> Builder<T, <Mode as ChannelMode<T>>::Next>
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,
) -> Builder<T, <Mode as ChannelMode<T>>::Next>
pub fn on_receive_async<Map, Fut>( self, on_receive: Map, ) -> Builder<T, <Mode as ChannelMode<T>>::Next>
Invokes on_receive
each time a value is sent to this channel.
Sourcepub fn on_receive_async_try<Map, Fut>(
self,
on_receive: Map,
) -> Builder<T, <Mode as ChannelMode<T>>::Next>
pub fn on_receive_async_try<Map, Fut>( self, on_receive: Map, ) -> Builder<T, <Mode as ChannelMode<T>>::Next>
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.
Sourcepub fn broadcasting(self) -> Builder<T, Broadcast<T>>
pub fn broadcasting(self) -> Builder<T, Broadcast<T>>
Returns this builder reconfigured to create a BroadcastChannel
.
See the channel
module documentation for an overview of the
channels provided.
Trait Implementations§
Auto Trait Implementations§
impl<T, Mode> Freeze for Builder<T, Mode>where
Mode: Freeze,
impl<T, Mode> RefUnwindSafe for Builder<T, Mode>where
Mode: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, Mode> Send for Builder<T, Mode>
impl<T, Mode> Sync for Builder<T, Mode>
impl<T, Mode> Unpin for Builder<T, Mode>
impl<T, Mode> UnwindSafe for Builder<T, Mode>where
Mode: UnwindSafe,
T: UnwindSafe,
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> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.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