pub struct Receiver<T, Codec = Json, const BUFFER: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#0}, const MAX_ITEM_SIZE: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#1}> { /* private fields */ }Expand description
Receiving-half of the broadcast channel.
Can be sent over a remote channel.
This can be converted into a Stream of values by wrapping it into a ReceiverStream.
Implementations§
Source§impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>where
T: RemoteSend,
Codec: Codec,
impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>where
T: RemoteSend,
Codec: Codec,
Sourcepub async fn recv(&mut self) -> Result<T, RecvError>
pub async fn recv(&mut self) -> Result<T, RecvError>
Receives the next value for this receiver.
Sourcepub fn try_recv(&mut self) -> Result<T, TryRecvError>
pub fn try_recv(&mut self) -> Result<T, TryRecvError>
Attempts to return a pending value on this receiver without awaiting.
Sourcepub fn max_item_size(&self) -> usize
pub fn max_item_size(&self) -> usize
The maximum item size in bytes.
Sourcepub fn set_max_item_size<const NEW_MAX_ITEM_SIZE: usize>(
self,
) -> Receiver<T, Codec, BUFFER, NEW_MAX_ITEM_SIZE>
pub fn set_max_item_size<const NEW_MAX_ITEM_SIZE: usize>( self, ) -> Receiver<T, Codec, BUFFER, NEW_MAX_ITEM_SIZE>
Sets the maximum item size in bytes.
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<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Debug for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Debug for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
Source§impl<'de, T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Deserialize<'de> for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>where
T: RemoteSend,
Codec: Codec,
impl<'de, T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Deserialize<'de> for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>where
T: RemoteSend,
Codec: Codec,
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T, Codec, const BUFFER: usize> From<Receiver<T, Codec, BUFFER>> for ReceiverStream<T, Codec, BUFFER>
impl<T, Codec, const BUFFER: usize> From<Receiver<T, Codec, BUFFER>> for ReceiverStream<T, Codec, BUFFER>
Source§fn from(recv: Receiver<T, Codec, BUFFER>) -> ReceiverStream<T, Codec, BUFFER>
fn from(recv: Receiver<T, Codec, BUFFER>) -> ReceiverStream<T, Codec, BUFFER>
Converts to this type from the input type.
Source§impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Serialize for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>where
T: RemoteSend,
Codec: Codec,
impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Serialize for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>where
T: RemoteSend,
Codec: Codec,
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,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl<T, Codec = Json, const BUFFER: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#0}, const MAX_ITEM_SIZE: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#1}> !Freeze for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
impl<T, Codec = Json, const BUFFER: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#0}, const MAX_ITEM_SIZE: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#1}> !RefUnwindSafe for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Send for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Sync for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
impl<T, Codec, const BUFFER: usize, const MAX_ITEM_SIZE: usize> Unpin for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
impl<T, Codec = Json, const BUFFER: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#0}, const MAX_ITEM_SIZE: usize = remoc::::rch::broadcast::receiver::Receiver::{constant#1}> !UnwindSafe for Receiver<T, Codec, BUFFER, MAX_ITEM_SIZE>
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