Skip to main content

SingleSubscriberObservableBase

Struct SingleSubscriberObservableBase 

Source
pub struct SingleSubscriberObservableBase<T> { /* private fields */ }
Expand description

The base of observables that accept exactly one subscriber and hand themselves out as the subscription.

The observable embeds this state, implements IObservable by calling subscribe and IDisposable by calling dispose, passing what has to happen when the subscription starts and ends.

Implementations§

Source§

impl<T> SingleSubscriberObservableBase<T>

Source

pub fn new() -> Self

Source

pub fn subscribe( &self, observer: Rc<dyn IObserver<T>>, subscribed: impl FnOnce(), )

Registers the observer. subscribed runs once it is registered, unless the observable has already failed or completed, in which case the observer is told so instead.

Panics when there already is a subscriber.

Source

pub fn dispose(&self, unsubscribed: impl FnOnce())

Ends the subscription: runs unsubscribed and forgets the observer.

Source

pub fn has_observer(&self) -> bool

Whether an observer is currently subscribed.

Source

pub fn publish_next(&self, value: T)

Source

pub fn publish_completed(&self, unsubscribed: impl FnOnce())

Source

pub fn publish_error(&self, error: ObservableError, unsubscribed: impl FnOnce())

Trait Implementations§

Source§

impl<T> Default for SingleSubscriberObservableBase<T>

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> ClassDefaults for T
where T: ?Sized,

Source§

fn static_constructor()

The static constructor of a type: work done once per thread, after the properties of the type are registered and before its first instance exists (class handlers, affects_render, metadata overrides). Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.