rx_rust/subject/mod.rs
1pub mod async_subject;
2pub mod behavior_subject;
3pub mod publish_subject;
4pub mod replay_subject;
5pub mod subject_ext;
6pub mod subject_observable;
7
8use crate::{
9 observable::Observable,
10 observer::{Observer, Termination},
11};
12
13/// A Subject is a sort of bridge or proxy that acts both as an observer and as an Observable.
14/// See <https://reactivex.io/documentation/subject.html>
15pub trait Subject<'or, 'sub, T, E>: Observable<'or, 'sub, T, E> + Observer<T, E> {
16 fn terminated(&self) -> Option<Termination<E>>
17 where
18 E: Clone;
19}