pub struct SubscriptionData { /* private fields */ }Expand description
The internal subscription implementation commonly used by other subscription implementations.
This struct is just a collection of teardown closures, stored as the closure itself.
This collection of closures represent the resources held by the subscription. To release the resources the subscription must be unsubscribed upon which the collection is drained, and the closures are called, effectively dropping everything held by the subscription before the subscription itself is dropped.
Implementations§
Source§impl SubscriptionData
impl SubscriptionData
pub fn new_with_teardown(teardown: Teardown) -> SubscriptionData
Trait Implementations§
Source§impl Debug for SubscriptionData
impl Debug for SubscriptionData
Source§impl Default for SubscriptionData
impl Default for SubscriptionData
Source§fn default() -> SubscriptionData
fn default() -> SubscriptionData
Returns the “default value” for a type. Read more
Source§impl Drop for SubscriptionData
impl Drop for SubscriptionData
Source§impl SubscriptionLike for SubscriptionData
impl SubscriptionLike for SubscriptionData
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 TeardownCollection for SubscriptionData
impl TeardownCollection for SubscriptionData
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!
Auto Trait Implementations§
impl Freeze for SubscriptionData
impl !RefUnwindSafe for SubscriptionData
impl Send for SubscriptionData
impl Sync for SubscriptionData
impl Unpin for SubscriptionData
impl !UnwindSafe for SubscriptionData
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> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
Source§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Creates Self using default().
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.