pub struct RadioStation<Value, Channel>where
Channel: RadioChannel<Value>,
Value: 'static,{ /* private fields */ }Expand description
Holds a global state and all its subscribers.
Implementations§
Source§impl<Value, Channel> RadioStation<Value, Channel>where
Channel: RadioChannel<Value>,
impl<Value, Channel> RadioStation<Value, Channel>where
Channel: RadioChannel<Value>,
Sourcepub fn create_global(init_value: Value) -> Self
pub fn create_global(init_value: Value) -> Self
Create a RadioStation expected to live until the end of the process.
Sourcepub fn read(&self) -> ReadRef<'_, Value>
pub fn read(&self) -> ReadRef<'_, Value>
Read the current state value. This effectively subscribes to any change no matter the channel.
Example:
let value = radio.read();Sourcepub fn peek(&self) -> ReadRef<'_, Value>
pub fn peek(&self) -> ReadRef<'_, Value>
Read the current state value without subscribing.
Example:
let value = radio.peek();Sourcepub fn write_channel(&mut self, channel: Channel) -> RadioGuard<Value, Channel>
pub fn write_channel(&mut self, channel: Channel) -> RadioGuard<Value, Channel>
Trait Implementations§
Source§impl<Value, Channel> Clone for RadioStation<Value, Channel>where
Channel: RadioChannel<Value>,
impl<Value, Channel> Clone for RadioStation<Value, Channel>where
Channel: RadioChannel<Value>,
impl<Value, Channel> Copy for RadioStation<Value, Channel>where
Channel: RadioChannel<Value>,
Auto Trait Implementations§
impl<Value, Channel> Freeze for RadioStation<Value, Channel>
impl<Value, Channel> !RefUnwindSafe for RadioStation<Value, Channel>
impl<Value, Channel> !Send for RadioStation<Value, Channel>
impl<Value, Channel> !Sync for RadioStation<Value, Channel>
impl<Value, Channel> Unpin for RadioStation<Value, Channel>
impl<Value, Channel> !UnwindSafe for RadioStation<Value, Channel>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§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> 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>
Converts
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>
Converts
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 more