An open API service indexing awesome lists of open source software.

https://github.com/reactivex/rxjavareactivestreams

Adapter between RxJava and ReactiveStreams
https://github.com/reactivex/rxjavareactivestreams

reactive-streams rxjava

Last synced: 12 months ago
JSON representation

Adapter between RxJava and ReactiveStreams

Awesome Lists containing this project

README

          

# RxJava Reactive Streams


[![codecov.io](http://codecov.io/github/ReactiveX/RxJavaReactiveStreams/coverage.svg?branch=1.x)](http://codecov.io/github/ReactiveX/RxJavaReactiveStreams?branch=1.x)
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/io.reactivex/rxjava-reactive-streams/badge.svg)](https://maven-badges.herokuapp.com/maven-central/io.reactivex/rxjava-reactive-streams)

This library provides adapters between RxJava and [Reactive Streams](http://www.reactive-streams.org).
The Reactive Streams standard defines an API and runtime semantics for reactive data streams, that different tools can implement in order to interoperate with each other.
This library allows RxJava to interoperate with other implementors of the Reactive Streams API.

It provides the following API:

```java
package rx;

import org.reactivestreams.Publisher;

public abstract class RxReactiveStreams {

public static Publisher toPublisher(Observable observable) { … }

public static Observable toObservable(Publisher publisher) { … }

public static Publisher toPublisher(Single observable) { … }

public static Single toSingle(Publisher publisher) { … }

public static Publisher toPublisher(Completable observable) { … }

public static Completable toCompletable(Publisher> publisher) { … }

}
```

These methods can be used to convert between the Reactive Streams `Publisher` type, and RxJava's `Observable` type.

Some [examples of this library being used for interop](https://github.com/ReactiveX/RxJavaReactiveStreams/tree/0.x/examples) are available as part of this repository.

See the [Reactive Streams](http://www.reactive-streams.org) website for links to other libraries that implement the Reactive Streams API,
and can therefore interoperate with RxJava via these methods.

Learn more about RxJava on the Wiki Home and the Netflix TechBlog post where RxJava was introduced.

## Communication

- Google Group: [RxJava](http://groups.google.com/d/forum/rxjava)
- Twitter: [@RxJava](http://twitter.com/RxJava)
- [GitHub Issues](https://github.com/ReactiveX/RxJava/issues)

## Binaries

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.rxjava-reactive-streams).

Example for Maven:

```xml

io.reactivex
rxjava-reactive-streams
x.y.z

```
and for Ivy:

```xml

```

## Build

To build:

```
$ git clone git@github.com:ReactiveX/RxJavaReactiveStreams.git
$ cd RxJavaReactiveStreams/
$ ./gradlew build
```

## Bugs and Feedback

For bugs, questions and discussions please use the [Github Issues](https://github.com/ReactiveX/RxJavaReactiveStreams/issues).

## LICENSE

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.