While discussing #1732 with @headinthebox we determined that multicast is troublesome and an "implementation detail" that leaked into the public API.
The publish(), replay(), share(), cache() operators are what should actually be used.
If multicast behavior is truly still wanted with "hot" semantics (and no backpressure) it can be achieved by doing this:
Observable<T> xs = ...;
Subject<T, T> s = SubjectImpl.create();
s.subscribe(observerA);
s.subscribe(observerB);
xs.subscribe(s);
We will remove multicast in 1.0 so as to eliminate it as a stumbling block and allow for correct backpressure propagation (which doesn't work with subjects).
While discussing #1732 with @headinthebox we determined that
multicastis troublesome and an "implementation detail" that leaked into the public API.The
publish(),replay(),share(),cache()operators are what should actually be used.If
multicastbehavior is truly still wanted with "hot" semantics (and no backpressure) it can be achieved by doing this:We will remove
multicastin 1.0 so as to eliminate it as a stumbling block and allow for correct backpressure propagation (which doesn't work with subjects).