We have seen the hot and cold Observable in action throughout this book, although most of our examples have been cold Observables (even ones using Observable.interval()). As a matter of fact, there are a lot of subtleties in the hotness and coldness of Observables, which we will look at in this chapter. When you have more than one Observer, the default behavior is to create a separate stream for each one. This may or may not be desirable, and we need to be aware of when to force an Observable to be hot by multicasting using a ConnectableObservable. We got a brief introduction to the ConnectableObservable in Chapter 2, Observables and Subscribers, but we will look at it in deeper context within an entire Observable chain of operators.
In this chapter, we will learn about multicasting with ConnectableObservable in detail and uncover its...