-
Notifications
You must be signed in to change notification settings - Fork 7.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.x: ReplaySubject now supports backpressure #3918
Conversation
a845273
to
40d59e4
Compare
Would it be possible to split this up into a couple commits? GitHub won't show the diff in its current state and says to view locally |
No, ReplaySubject has simply too many expected features: unbounded, size bounded and size+time bounded modes, each adding 100s of lines. It is fully rewritten so comparison wouldn't do much help. |
This makes it very difficult to review. What do you propose @akarnokd ? |
Check out and have your IDE compare this PR against the master version. |
Does this mean that subscribers were not skipping stale data? This change sounds like fixing a bug? |
In the original, once the source completed, the current elements in the bounded buffers were frozen in time. Late subscribers would get all the data, including those who have become older by the time these subscriptions happen. Same was true for live, but inactive replays where a subscriber would start from an outdated element. These were expected by the unit tests but #3917 expected only fresh data. |
👍 |
In addition, the behavior of time-limited mode has been changed. Late subscribers will now skip stale data.
Related issue: #3917