
com.sproutigy.commons.async.collections.ReactiveStreamsUtil Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of async Show documentation
Show all versions of async Show documentation
Async Programming Toolkit for Java
The newest version!
package com.sproutigy.commons.async.collections;
import org.reactivestreams.Publisher;
import org.reactivestreams.Subscriber;
import org.reactivestreams.Subscription;
import java.util.Iterator;
public final class ReactiveStreamsUtil {
private ReactiveStreamsUtil() {
}
public static Iterable asIterable(Publisher publisher) {
return new BlockingIterable<>(publisher);
}
public static Iterator asIterator(Publisher publisher) {
return new BlockingIterator<>(publisher);
}
public static void bindReactiveIterator(Publisher publisher, final ReactiveIterator reactiveIterator) {
publisher.subscribe(new Subscriber() {
private Subscription subscription;
@Override
public void onSubscribe(Subscription subscription) {
this.subscription = subscription;
subscription.request(1);
}
@Override
public void onNext(T element) {
reactiveIterator.onNext(element);
subscription.request(1);
}
@Override
public void onError(Throwable error) {
reactiveIterator.onFailure(error);
}
@Override
public void onComplete() {
reactiveIterator.onComplete();
}
});
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy