pub trait Subscription {
    // Required method
    fn unsubscribe(self);

    // Provided methods
    fn is_closed(&self) -> bool { ... }
    fn unsubscribe_when_dropped(self) -> SubscriptionGuard<Self>
       where Self: Sized { ... }
}
Expand description

Subscription returns from Observable.subscribe(Subscriber) to allow unsubscribing.

Required Methods§

source

fn unsubscribe(self)

This allows deregistering an stream before it has finished receiving all events (i.e. before onCompleted is called).

Provided Methods§

source

fn is_closed(&self) -> bool

detect if the subscription already be unsubscribed.

source

fn unsubscribe_when_dropped(self) -> SubscriptionGuard<Self>where Self: Sized,

Activates “RAII” behavior for this subscription. That means unsubscribe() will be called automatically as soon as the returned value goes out of scope.

Attention: If you don’t assign the return value to a variable, unsubscribe() is called immediately, which is probably not what you want!

Implementations on Foreign Types§

source§

impl Subscription for ()

Implementors§

source§

impl Subscription for BoxSubscriptionThreads

source§

impl Subscription for MultiSubscriptionThreads

source§

impl<'a> Subscription for BoxSubscription<'a>

source§

impl<'a> Subscription for MultiSubscription<'a>

source§

impl<'a, Item, Err> Subscription for MutRefErrSubject<'a, Item, Err>

source§

impl<'a, Item, Err> Subscription for MutRefItemErrSubject<'a, Item, Err>

source§

impl<'a, Item, Err> Subscription for MutRefItemSubject<'a, Item, Err>

source§

impl<'a, Item, Err> Subscription for Subject<'a, Item, Err>

source§

impl<C, F, U> Subscription for FinalizerSubscription<U, C>where U: Subscription, C: RcDerefMut<Target = Option<F>>, F: FnOnce(),

source§

impl<Item, Err> Subscription for SubjectThreads<Item, Err>

source§

impl<Item, Subject> Subscription for BehaviorSubject<Item, Subject>where Subject: Subscription,

source§

impl<O> Subscription for Subscriber<O>

source§

impl<O> Subscription for SubscriberThreads<O>

source§

impl<T, S> Subscription for Twhere T: RcDerefMut<Target = Option<S>> + RcDeref<Target = Option<S>>, S: Subscription,

source§

impl<T: 'static> Subscription for TaskHandle<NormalReturn<T>>

source§

impl<T: Subscription + 'static> Subscription for TaskHandle<SubscribeReturn<T>>

source§

impl<U, Subject> Subscription for RefCountSubscription<Subject, U>where Subject: Subscription + SubjectSize, U: Subscription,

source§

impl<U: Subscription, H: Subscription> Subscription for ZipSubscription<H, U>