vertx-rx
vertx-rx copied to clipboard
Reactive Extensions for Vert.x
= Rx extension for Vert.x
image:https://github.com/vert-x3/vertx-rx/workflows/CI/badge.svg?branch=master[Build Status,link=https://github.com/vert-x3/vertx-rx/actions?query=workflow%3ACI]
Vert.x module adding support for Reactive Extensions (Rx) using the Rx libraries. This allows Vert.x developers to use the Rx type-safe composable API to build Vert.x verticles. This module provides helpers for adapting Vert.x stream and future constructs to Rx observables.
== Documentation
- http://vertx.io/docs/vertx-rx/java/[RxJava Documentation]
- http://vertx.io/docs/vertx-rx/java2/[RxJava 2 Documentation]
- http://vertx.io/docs/vertx-rx/java3/[RxJava 3 Documentation]
== Stack integration
RxJava, RxJava2 and RxJava3 are integrated with the Vert.x stack.
=== Integration tests
Integration tests are placed here:
- https://github.com/vert-x3/vertx-rx/tree/master/rx-java/src/test/java/io/vertx/it[RxJava]
- https://github.com/vert-x3/vertx-rx/tree/master/rx-java2/src/test/java/io/vertx/it[RxJava 2]
- https://github.com/vert-x3/vertx-rx/tree/master/rx-java3/src/test/java/io/vertx/it[RxJava 3]
=== Integration docs
Integration docs are placed here:
- https://github.com/vert-x3/vertx-rx/tree/master/rx-java3/src/main/asciidoc[RxJava 3]
The corresponding component uses an asciidoctor https://asciidoctor.org/docs/user-manual/#include-directive[include] directive to embed the doc snippet:
[source,asciidoc]
ifeval::["$lang" == "java"] include::override/rxjava3.adoc[] endif::[]
Vert.x Web Client example:
- https://github.com/vert-x3/vertx-web/blob/master/vertx-web-client/src/main/asciidoc/override/rxjava3.adoc
is replaced by
- https://github.com/vert-x3/vertx-rx/blob/master/rx-java3/src/main/asciidoc/vertx-web-client/java/override/rxjava3.adoc
The final aggregation happens in the https://github.com/vert-x3/vertx-stack/tree/master/stack-docs[stack generation] module.