You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For performance, the mode is an integer bitflags setup, called early during subscription time, and allows negotiating the fusion mode. Usually, producers can do only one mode and consumers can do both mode. Because fused, intermediate operators attach logic (which is many times user-callback) to the exit point of the queue interface (poll()), it may change the computation location of those callbacks in an unwanted way. The flag `BOUNDARY` is added by consumers indicating that they will consume the queue over an async boundary. Intermediate operators, such as `map` and `filter` then can reject the fusion in such sequences.
588
588
589
-
Since RxJava 3.x is still JDK 6 compatible, the `QueueSubscription` can't itself default unnecessary methods and implementations are required to throw `UnsupportedOperationException` for `Queue` methods other than the following:
589
+
Since RxJava 4.x is still JDK 26 compatible, the `QueueSubscription` can't itself default unnecessary methods and implementations are required to throw `UnsupportedOperationException` for `Queue` methods other than the following:
(Please replace `x` and `y` with the latest version numbers: [](https://maven-badges.sml.io/sonatype-central/io.reactivex.rxjava3/rxjava)
54
+
(Please replace `x` and `y` with the latest version numbers: [](https://maven-badges.sml.io/sonatype-central/io.reactivex.rxjava4/rxjava)
55
55
)
56
56
57
57
### Hello World
@@ -70,11 +70,11 @@ public class HelloWorld {
70
70
}
71
71
```
72
72
73
-
Note that RxJava 3 components now live under `io.reactivex.rxjava3` and the base classes and interfaces live under `io.reactivex.rxjava4.core`.
73
+
Note that RxJava 4 components now live under `io.reactivex.rxjava4` and the base classes and interfaces live under `io.reactivex.rxjava4.core`.
74
74
75
75
### Base classes
76
76
77
-
RxJava 3 features several base classes you can discover operators on:
77
+
RxJava 4 features several base classes you can discover operators on:
78
78
79
79
-[`io.reactivex.rxjava4.core.Flowable`](http://reactivex.io/RxJava/4.x/javadoc/io/reactivex/rxjava4/core/Flowable.html): 0..N flows, supporting Reactive-Streams and backpressure
80
80
-[`io.reactivex.rxjava4.core.Observable`](http://reactivex.io/RxJava/4.x/javadoc/io/reactivex/rxjava4/core/Observable.html): 0..N flows, no backpressure,
@@ -197,7 +197,7 @@ Typically, you can move computations or blocking IO to some other thread via `su
197
197
198
198
### Schedulers
199
199
200
-
RxJava operators don't work with `Thread`s or `ExecutorService`s directly but with so-called `Scheduler`s that abstract away sources of concurrency behind a uniform API. RxJava 3 features several standard schedulers accessible via `Schedulers` utility class.
200
+
RxJava operators don't work with `Thread`s or `ExecutorService`s directly but with so-called `Scheduler`s that abstract away sources of concurrency behind a uniform API. RxJava 4 features several standard schedulers accessible via `Schedulers` utility class.
201
201
202
202
-`Schedulers.computation()`: Run computation intensive work on a fixed number of dedicated threads in the background. Most asynchronous operators use this as their default `Scheduler`.
203
203
-`Schedulers.io()`: Run I/O-like or blocking operations on a dynamically changing set of threads.
The base classes can be considered heavy due to the sheer number of static and instance methods on them. RxJava 3's design was heavily influenced by the [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm#reactive-streams) specification, therefore, the library features a class and an interface per each reactive type:
473
+
The base classes can be considered heavy due to the sheer number of static and instance methods on them. RxJava 4's design was heavily influenced by the [Reactive Streams](https://github.com/reactive-streams/reactive-streams-jvm#reactive-streams) specification, therefore, the library features a class and an interface per each reactive type:
474
474
475
475
| Type | Class | Interface | Consumer |
476
476
|------|-------|-----------|----------|
@@ -502,7 +502,7 @@ It is recommended one sets up the following `-dontwarn` entry in the application
502
502
-dontwarn java.util.concurrent.Flow*
503
503
```
504
504
505
-
For R8, the RxJava jar includes the `META-INF/proguard/rxjava3.pro` with the same no-warning clause and should apply automatically.
505
+
For R8, the RxJava jar includes the `META-INF/proguard/rxjava4.pro` with the same no-warning clause and should apply automatically.
506
506
507
507
### Further reading
508
508
@@ -549,27 +549,27 @@ All code inside the `io.reactivex.rxjava4.internal.*` packages are considered pr
549
549
550
550
## Binaries
551
551
552
-
Binaries and dependency information for Maven, Ivy, Gradle and others can be found at [http://search.maven.org](http://search.maven.org/#search%7Cga%7C1%7Cio.reactivex.rxjava3).
552
+
Binaries and dependency information for Maven, Ivy, Gradle and others can be found at [http://search.maven.org](http://search.maven.org/#search%7Cga%7C1%7Cio.reactivex.rxjava4).
Copy file name to clipboardExpand all lines: docs/Getting-Started.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,33 +1,33 @@
1
1
## Getting Binaries
2
2
3
-
You can find binaries and dependency information for Maven, Ivy, Gradle, SBT, and others at [http://search.maven.org](https://search.maven.org/search?q=g:io.reactivex.rxjava3%20AND%20rxjava).
3
+
You can find binaries and dependency information for Maven, Ivy, Gradle, SBT, and others at [http://search.maven.org](https://search.maven.org/search?q=g:io.reactivex.rxjava4%20AND%20rxjava).
Copy file name to clipboardExpand all lines: docs/Writing-operators-for-2.0.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1574,7 +1574,7 @@ This is the level of the Reactive-Streams based libraries such as **Reactor 2**
1574
1574
#### Generation 4
1575
1575
This level expands upon the Reactive-Streams interfaces with operator-fusion (in a compatible fashion, that is, op-fusion is optional between two stages and works without them). **Reactor 3** and **RxJava 2** are at this level. The material around **Akka-Stream** mentions operator-fusion as well, however, **Akka-Stream** is not a native Reactive-Streams implementation (requires a materializer to get a `Publisher` out) and as such it is only Gen 3.
1576
1576
1577
-
There are discussions among the 4th generation library providers to have the elements of operator-fusion standardized in Reactive-Streams 2.0 specification (or in a neighboring extension) and have **RxJava 3** and **Reactor 4** work together on that aspect as well.
1577
+
There are discussions among the 4th generation library providers to have the elements of operator-fusion standardized in Reactive-Streams 2.0 specification (or in a neighboring extension) and have **RxJava 4** and **Reactor 4** work together on that aspect as well.
0 commit comments