I don’t remember the exact implementation but connect would buffer sequence elements and publish for each subscription create output channel. Then each time an element would appear it will be passed to all created output channels
I understand. I believe, it's also time to think about back-pressure. Like having different strategies: buffer everything, drop messages not consumed on time etc.
observer.onNext, wait for its completion then call the second