-
-
Notifications
You must be signed in to change notification settings - Fork 19
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
JVM concat throws if one observable is a single #42
Comments
#31 Installed support for Flowable. But it turns out that Singles are not Observables, which ends up being a similar situation. Such is the unfortunate design of RxJava2. So glad we have beicon to deal with it! |
yeah, is clearly a bug |
I have had the problem with both flowables and observables. A fix is complicated by that issue. I am wondering if the resulting fix would touch I say this off the top of my head. My thought is that if every param to This is not the behavior of At that point the use of Reflecting on that idea I think: as nice as having Flowable and Observable is for the implementers of RxJava, I think it is broken to have two separate concrete instantiations of the reactive interfaces (Flowable and Observable) in one implementation. It breaks the polymorphic access to the interfaces, forcing the user to deal with classes specific to this implementation (ObservableSingle and FlowableSingle). Seems like RxJava2 needed to focus on Flowable, and have it be a no-op if backpressure was not implemented (and throw the appropriate exception if observables were over-run). But again, that is thinking off the top of my head. The only reason I mention that is to provoke enough review of this issue prior to implementing a fix for concat. I do not want to change the meaning of those predicate functions (flowable? and observable?) and break a bunch of stuff that is working. At the same time, to have random beicon functions fail on Singles in not a nice thing either. So it would be good to have a comprehensive way to handle these cases, because they are a result of the way RxJava is implemented. |
I have pushed the commit 1fa9736 to approach this issue, let me know that you are think about it :D |
My only comment is I liked the coercions being public. It made using other parts of rxjava easy and smooth. I do not see a reason to make them private. Their functionality is well defined, and matches rxjava nicely.
|
ok, i will make them public again. |
thanks! |
I think change does a good job of keeping the current approach intact of not trying to wrap the rx-java library into another set of abstractions which would just add a ton of weight and no value. It is a hassle when these concrete class leak out, but it is the lesser of the evils IMO. Thanks for the help! |
Resolves: funcool#44 See Also: funcool#42
I am running beicon 4.1.0 with Clojure 8.0 and JVM 8. I plan to send a pull request.
The text was updated successfully, but these errors were encountered: