pub struct Subscription<Destination>where
Destination: Subscriber,{ /* private fields */ }Implementations§
Source§impl<Destination> Subscription<Destination>where
Destination: Subscriber,
impl<Destination> Subscription<Destination>where
Destination: Subscriber,
pub fn new(destination: Destination) -> Subscription<Destination>
Trait Implementations§
Source§impl<Destination> Drop for Subscription<Destination>where
Destination: Subscriber,
impl<Destination> Drop for Subscription<Destination>where
Destination: Subscriber,
Source§impl<Destination> SubscriptionLike for Subscription<Destination>where
Destination: Subscriber,
impl<Destination> SubscriptionLike for Subscription<Destination>where
Destination: Subscriber,
Source§fn is_closed(&self) -> bool
fn is_closed(&self) -> bool
Returns if the subscription is closed or not. A subscription can be
closed by calling unsubscribe on it. Some special subscriptions made
by observables that only ever emit values during subscribe, will produce
subscriptions that are created closed. Read more
Source§fn unsubscribe(&mut self)
fn unsubscribe(&mut self)
Releases all resources associated with this subscription, and marks it
as closed. Read more
Source§impl<Destination> TeardownCollection for Subscription<Destination>where
Destination: Subscriber,
impl<Destination> TeardownCollection for Subscription<Destination>where
Destination: Subscriber,
Source§fn add_teardown(&mut self, teardown: Teardown)
fn add_teardown(&mut self, teardown: Teardown)
Add additional teardowns to execute on unsubscribe. If the subscription
is already closed, the added teardown is immediately executed!
Source§impl<Destination> WithPrimaryCategory for Subscription<Destination>where
Destination: Subscriber,
impl<Destination> WithPrimaryCategory for Subscription<Destination>where
Destination: Subscriber,
Auto Trait Implementations§
impl<Destination> Freeze for Subscription<Destination>where
Destination: Freeze,
impl<Destination> !RefUnwindSafe for Subscription<Destination>
impl<Destination> Send for Subscription<Destination>
impl<Destination> Sync for Subscription<Destination>
impl<Destination> Unpin for Subscription<Destination>where
Destination: Unpin,
impl<Destination> !UnwindSafe for Subscription<Destination>
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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<S> EraseSubscriptionExtension for S
impl<S> EraseSubscriptionExtension for S
fn erase(self) -> ErasedSubscription
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoResult<T> for T
impl<T> IntoResult<T> for T
Source§fn into_result(self) -> Result<T, RunSystemError>
fn into_result(self) -> Result<T, RunSystemError>
Converts this type into the system output type.
Wrap this subscription into a SharedSubscription, erasing it and
allowing you to freely clone it, to unsubscribe it from multiple places.