pub struct Receiver<T, Codec = Json, const MAX_ITEM_SIZE: usize = remoc::::rch::watch::receiver::Receiver::{constant#0}> { /* private fields */ }Expand description
Receive values from the associated Sender, which may be located on a remote endpoint.
Instances are created by the channel function.
This can be converted into a Stream of values by wrapping it into a ReceiverStream.
Implementations§
Source§impl<T, Codec, const MAX_ITEM_SIZE: usize> Receiver<T, Codec, MAX_ITEM_SIZE>
impl<T, Codec, const MAX_ITEM_SIZE: usize> Receiver<T, Codec, MAX_ITEM_SIZE>
Sourcepub fn borrow(&self) -> Result<Ref<'_, T>, RecvError>
pub fn borrow(&self) -> Result<Ref<'_, T>, RecvError>
Returns a reference to the most recently received value.
Sourcepub fn borrow_and_update(&mut self) -> Result<Ref<'_, T>, RecvError>
pub fn borrow_and_update(&mut self) -> Result<Ref<'_, T>, RecvError>
Returns a reference to the most recently received value and mark that value as seen.
Sourcepub async fn changed(&mut self) -> Result<(), ChangedError>
pub async fn changed(&mut self) -> Result<(), ChangedError>
Wait for a change notification, then mark the newest value as seen.
Sourcepub fn max_item_size(&self) -> usize
pub fn max_item_size(&self) -> usize
Maximum allowed item size in bytes when receiving items.
Sourcepub fn set_max_item_size<const NEW_MAX_ITEM_SIZE: usize>(
self,
) -> Receiver<T, Codec, NEW_MAX_ITEM_SIZE>
pub fn set_max_item_size<const NEW_MAX_ITEM_SIZE: usize>( self, ) -> Receiver<T, Codec, NEW_MAX_ITEM_SIZE>
Sets the maximum allowed item size in bytes when receiving items.
Sourcepub fn remote_max_item_size(&self) -> Option<usize>
pub fn remote_max_item_size(&self) -> Option<usize>
The maximum item size of the remote sender.
If this is larger than max_item_size sending of oversized items will succeed but receiving will fail with a MaxItemSizeExceeded error.
Trait Implementations§
Source§impl<'de, T, Codec, const MAX_ITEM_SIZE: usize> Deserialize<'de> for Receiver<T, Codec, MAX_ITEM_SIZE>
impl<'de, T, Codec, const MAX_ITEM_SIZE: usize> Deserialize<'de> for Receiver<T, Codec, MAX_ITEM_SIZE>
Source§fn deserialize<D>(
deserializer: D,
) -> Result<Receiver<T, Codec, MAX_ITEM_SIZE>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Receiver<T, Codec, MAX_ITEM_SIZE>, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserializes the receiver after it has been received over a chmux channel.
Source§impl<T, Codec, const MAX_ITEM_SIZE: usize> From<Receiver<T, Codec, MAX_ITEM_SIZE>> for ReceiverStream<T, Codec, MAX_ITEM_SIZE>
impl<T, Codec, const MAX_ITEM_SIZE: usize> From<Receiver<T, Codec, MAX_ITEM_SIZE>> for ReceiverStream<T, Codec, MAX_ITEM_SIZE>
Source§fn from(
recv: Receiver<T, Codec, MAX_ITEM_SIZE>,
) -> ReceiverStream<T, Codec, MAX_ITEM_SIZE>
fn from( recv: Receiver<T, Codec, MAX_ITEM_SIZE>, ) -> ReceiverStream<T, Codec, MAX_ITEM_SIZE>
Source§impl<T, Codec, const MAX_ITEM_SIZE: usize> Serialize for Receiver<T, Codec, MAX_ITEM_SIZE>
impl<T, Codec, const MAX_ITEM_SIZE: usize> Serialize for Receiver<T, Codec, MAX_ITEM_SIZE>
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serializes this receiver for sending over a chmux channel.