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

fn iter(self) -> Iter<Self> where Self: Sized

Implementors