Trait chan::Channel
[−]
[src]
pub trait Channel { type Item; fn send(&self, val: Self::Item); fn try_send(&self, val: Self::Item) -> Result<(), Self::Item>; fn recv(&self) -> Option<Self::Item>; fn try_recv(&self) -> Result<Option<Self::Item>, ()>; fn close(&self); fn subscribe(&self, condvar: Arc<Condvar>) -> Uuid; fn unsubscribe(&self, key: &Uuid); fn clone_chan(&self) -> Self where Self: Sized; fn iter(self) -> Iter<Self> where Self: Sized { ... } }
Associated Types
type Item
Required Methods
fn send(&self, val: Self::Item)
fn try_send(&self, val: Self::Item) -> Result<(), Self::Item>
fn recv(&self) -> Option<Self::Item>
fn try_recv(&self) -> Result<Option<Self::Item>, ()>
fn close(&self)
fn subscribe(&self, condvar: Arc<Condvar>) -> Uuid
fn unsubscribe(&self, key: &Uuid)
fn clone_chan(&self) -> Self where Self: Sized
Provided Methods
Implementors
impl<'a, T: Channel> Channel for &'a T
impl<T> Channel for SyncChannel<T>
impl<T> Channel for AsyncChannel<T>