Observer

Trait Observer 

Source
pub trait Observer {
    type Item;
    type Err;

    // Required methods
    fn next(&mut self, value: Self::Item);
    fn error(&mut self, err: Self::Err);
    fn complete(&mut self);
    fn is_stopped(&self) -> bool;
}
Expand description

An Observer is a consumer of values delivered by an Observable. One for each type of notification delivered by the Observable: next, error, and complete.

Item the type of the elements being emitted. Errthe type of the error may propagating.

Required Associated Types§

Required Methods§

Source

fn next(&mut self, value: Self::Item)

Source

fn error(&mut self, err: Self::Err)

Source

fn complete(&mut self)

Source

fn is_stopped(&self) -> bool

Implementations on Foreign Types§

Source§

impl<'a, O> Observer for Rc<RefCell<LocalMergeAllObserver<'a, O>>>
where O: Observer + 'a,

Source§

type Item = BoxOp<Box<dyn BoxObservable<'a, Err = <O as Observer>::Err, Item = <O as Observer>::Item> + 'a>>

Source§

type Err = <O as Observer>::Err

Source§

fn next(&mut self, value: Self::Item)

Source§

fn error(&mut self, err: Self::Err)

Source§

fn complete(&mut self)

Source§

fn is_stopped(&self) -> bool

Source§

impl<Item, Err, T> Observer for Box<T>
where T: Observer<Item = Item, Err = Err> + ?Sized,

Source§

type Item = Item

Source§

type Err = Err

Source§

fn next(&mut self, value: Item)

Source§

fn error(&mut self, err: Err)

Source§

fn complete(&mut self)

Source§

fn is_stopped(&self) -> bool

Source§

impl<Item, Err, T> Observer for Rc<RefCell<T>>
where T: Observer<Item = Item, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

fn next(&mut self, value: Item)

Source§

fn error(&mut self, err: Err)

Source§

fn complete(&mut self)

Source§

fn is_stopped(&self) -> bool

Source§

impl<Item, Err, T> Observer for Arc<Mutex<T>>
where T: Observer<Item = Item, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

fn next(&mut self, value: Item)

Source§

fn error(&mut self, err: Err)

Source§

fn complete(&mut self)

Source§

fn is_stopped(&self) -> bool

Source§

impl<O> Observer for Arc<Mutex<SharedMergeAllObserver<O>>>
where O: Observer + Send + Sync + 'static,

Source§

type Item = BoxOp<Box<dyn SharedBoxObservable<Err = <O as Observer>::Err, Item = <O as Observer>::Item> + Sync + Send>>

Source§

type Err = <O as Observer>::Err

Source§

fn next(&mut self, value: Self::Item)

Source§

fn error(&mut self, err: Self::Err)

Source§

fn complete(&mut self)

Source§

fn is_stopped(&self) -> bool

Implementors§

Source§

impl<'a, Inner, O, Item, Err> Observer for FlattenLocalOuterObserver<Inner, O>
where O: Observer<Item = Item, Err = Err> + 'a, Inner: LocalObservable<'a, Item = Item, Err = Err>,

Source§

type Item = Inner

Source§

type Err = Err

Source§

impl<'a, Obs, Source, Discr, Key, Item, Err> Observer for GroupByObserver<Obs, Source, Discr, Key, Item>
where Obs: Observer<Item = GroupObservable<Source, Discr, Key>, Err = Err>, Source: Observable + Clone, Discr: FnMut(&Item) -> Key + Clone, Key: Hash + Clone + Eq,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Inner, O, Item, Err> Observer for FlattenSharedOuterObserver<Inner, O>
where O: Observer<Item = Item, Err = Err> + Sync + Send + 'static, Inner: SharedObservable<Item = Item, Err = Err, Unsub = SharedSubscription>,

Source§

type Item = Inner

Source§

type Err = Err

Source§

impl<InputItem, Err, Source, BinaryOp, OutputItem> Observer for ScanObserver<Source, BinaryOp, OutputItem, InputItem>
where Source: Observer<Item = OutputItem, Err = Err>, BinaryOp: FnMut(OutputItem, InputItem) -> OutputItem, OutputItem: Clone,

Source§

type Item = InputItem

Source§

type Err = Err

Source§

impl<Item, Err, N, E> Observer for ObserverErr<N, E, Item, Err>
where N: FnMut(Item), E: FnMut(Err),

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, N, E, C> Observer for ObserverAll<N, E, C, Item, Err>
where C: FnMut(), N: FnMut(Item), E: FnMut(Err),

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O> Observer for DefaultIfEmptyObserver<O, Item>
where O: Observer<Item = Item, Err = Err>, Item: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O> Observer for SkipLastObserver<O, Item>
where O: Observer<Item = Item, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O> Observer for TakeLastObserver<O, Item>
where O: Observer<Item = Item, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O, B> Observer for MapToObserver<O, B, Item>
where O: Observer<Item = B, Err = Err>, B: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O, F> Observer for FilterObserver<O, F>
where O: Observer<Item = Item, Err = Err>, F: FnMut(&Item) -> bool,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O, M, B> Observer for MapObserver<O, M, Item>
where O: Observer<Item = B, Err = Err>, M: FnMut(Item) -> B,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O, U> Observer for SkipObserver<O, U>
where O: Observer<Item = Item, Err = Err>, U: SubscriptionLike,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O, U> Observer for Subscriber<O, U>
where O: Observer<Item = Item, Err = Err>, U: SubscriptionLike,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, O, Unsub> Observer for MergeObserver<O, Unsub>
where O: Observer<Item = Item, Err = Err>, Unsub: SubscriptionLike,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, U, O> Observer for BehaviorSubject<Box<Vec<O>>, U, Item>
where O: Observer<Item = Item, Err = Err> + SubscriptionLike, Item: Clone, Err: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, U, O> Observer for BehaviorSubject<Rc<RefCell<Vec<O>>>, U, Item>
where O: Observer<Item = Item, Err = Err> + SubscriptionLike, Item: Clone, Err: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, U, O> Observer for BehaviorSubject<Arc<Mutex<Vec<O>>>, U, Item>
where O: Observer<Item = Item, Err = Err> + SubscriptionLike, Item: Clone, Err: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, U, O> Observer for Subject<Box<Vec<O>>, U>
where O: Observer<Item = Item, Err = Err> + SubscriptionLike, Item: Clone, Err: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, U, O> Observer for Subject<Rc<RefCell<Vec<O>>>, U>
where O: Observer<Item = Item, Err = Err> + SubscriptionLike, Item: Clone, Err: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, Err, U, O> Observer for Subject<Arc<Mutex<Vec<O>>>, U>
where O: Observer<Item = Item, Err = Err> + SubscriptionLike, Item: Clone, Err: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<Item, N> Observer for ObserverN<N, Item>
where N: FnMut(Item),

Source§

type Item = Item

Source§

type Err = ()

Source§

impl<N, C, Item> Observer for ObserverComp<N, C, Item>
where C: FnMut(), N: FnMut(Item),

Source§

type Item = Item

Source§

type Err = ()

Source§

impl<O, F, Item, Err, OutputItem> Observer for FilterMapObserver<O, F, Item>
where O: Observer<Item = OutputItem, Err = Err>, F: FnMut(Item) -> Option<OutputItem>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err> Observer for BufferWithCountObserver<O, Item>
where O: Observer<Item = Vec<Item>, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err> Observer for BufferWithCountOrTimerObserver<O, Item>
where O: Observer<Item = Vec<Item>, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err> Observer for BufferWithCountOrTimerObserverShared<O, Item>
where O: Observer<Item = Vec<Item>, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err> Observer for BufferWithTimeObserver<O, Item>
where O: Observer<Item = Vec<Item>, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err> Observer for BufferWithTimeObserverShared<O, Item>
where O: Observer<Item = Vec<Item>, Err = Err>,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err> Observer for ContainsObserver<O, Item>
where O: Observer<Item = bool, Err = Err>, Item: Clone + Eq,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err> Observer for LastObserver<O, Item>
where O: Observer<Item = Item, Err = Err>, Item: Clone,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, Item, Err, F> Observer for SkipWhileObserver<O, F>
where O: Observer<Item = Item, Err = Err>, F: FnMut(&Item) -> bool,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, S, Item, Err> Observer for FlattenInnerObserver<O, S, Box<FlattenState>>
where O: Observer<Item = Item, Err = Err>, S: SubscriptionLike,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, S, Item, Err> Observer for FlattenInnerObserver<O, S, Rc<RefCell<FlattenState>>>
where O: Observer<Item = Item, Err = Err>, S: SubscriptionLike,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, S, Item, Err> Observer for FlattenInnerObserver<O, S, Arc<Mutex<FlattenState>>>
where O: Observer<Item = Item, Err = Err>, S: SubscriptionLike,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, U, Item, Err> Observer for TakeObserver<O, U>
where O: Observer<Item = Item, Err = Err>, U: SubscriptionLike,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, U, Item, Err, F> Observer for TakeWhileObserver<O, U, F>
where O: Observer<Item = Item, Err = Err>, U: SubscriptionLike, F: FnMut(&Item) -> bool,

Source§

type Item = Item

Source§

type Err = Err

Source§

impl<O, U, NotifierItem, Err> Observer for TakeUntilNotifierObserver<O, U, NotifierItem>
where O: Observer<Err = Err>, U: SubscriptionLike,

Source§

type Item = NotifierItem

Source§

type Err = Err