Skip to content
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

API Design Review: Async & Future #680

Closed
benjchristensen opened this issue Dec 24, 2013 · 1 comment
Closed

API Design Review: Async & Future #680

benjchristensen opened this issue Dec 24, 2013 · 1 comment

Comments

@benjchristensen
Copy link
Member

We have started collecting functionality related to Async.java, Observable.start, and similar such as in #645 and #622.

These do not directly apply to the goals of rxjava-core in enabling async Observable behavior but are valuable utilities for converting to and from Observable and executing work asynchronously.

Having them in the core however has the following drawbacks:

  • they increase API surface area, code and byte size
  • they complicate the mental model by mixing multiple different concepts
  • they are tied to the java.util.concurrent model
  • different Java libraries such as Guava and Akka have different models
  • each JVM language has different concurrency models and libraries
  • work can be executed asynchronous in many ways such as actors, event-loops or thread pools and rxjava-core is purposefully non-opinionated about the source of concurrency or asynchronocity

For these reasons it is felt that this functionality should be removed and/or not accepted into rxjava-core but instead placed in a contrib module. This is similar to how rxjava-android and rxjava-swing add additional functionality.

https://github.com/Netflix/RxJava/tree/master/rxjava-contrib

/cc @headinthebox and @jhusain

@benjchristensen
Copy link
Member Author

The Async class and related operators has been moved into rxjava-async-util: https://github.com/Netflix/RxJava/tree/master/rxjava-contrib/rxjava-async-util

jihoonson pushed a commit to jihoonson/RxJava that referenced this issue Mar 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant