Skip to content

Backpressure: replay #1487

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

Closed
benjchristensen opened this issue Jul 23, 2014 · 4 comments
Closed

Backpressure: replay #1487

benjchristensen opened this issue Jul 23, 2014 · 4 comments
Milestone

Comments

@benjchristensen
Copy link
Member

The replay operators and ReplaySubject should respect backpressure for the downstream while replaying back. Depending on the variant of replay (such as unbounded buffering) it could support it even in multicast mode. For the variants that don't do unbounded buffering, then once it finishes replying the cached values, then it can no longer support backpressure (due to multicasting), but it's still good to support it during replay, as that can be a very rapid firehose whereas it could be quite slow once caught up.

@benjchristensen benjchristensen added this to the 1.0 milestone Jul 23, 2014
@akarnokd
Copy link
Member

I might not be able to do this before September. In addition, the backpressure support would need to turn the BehaviorSubject and PublishSubject into a ReplaySubject-like construct. I think they can support backpressure all the way through without trouble. The difficulty may come from the ability in BehaviorSubject and PublishSubject that makes sure no values in a sequence get lost while a client subscription procedure is going on.

@benjchristensen
Copy link
Member Author

A multicasting Subject can not support backpressure. It's hot and each Subscriber needs to choose its own strategy (drop, buffer, etc). Therefore, this change for replay is isolated enough that I can probably do it. It's only when it is replaying, not after it flips into "hot subject" mode.

@benjchristensen benjchristensen modified the milestones: 1.x, 1.0 Sep 23, 2014
@benjchristensen benjchristensen modified the milestones: 1.0, 1.x Oct 20, 2014
@benjchristensen benjchristensen modified the milestones: 1.0.x, 1.0, 1.1 Nov 8, 2014
@akarnokd
Copy link
Member

See #3047.

@akarnokd
Copy link
Member

akarnokd commented Sep 3, 2015

Done and shipped via 1.0.14.

@akarnokd akarnokd closed this as completed Sep 3, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants