private static boolean isValidToEmitToReadSubscriber(ReadProducer<?> readProducer) { return null != readProducer && !readProducer.subscriber.isUnsubscribed(); }
protected static boolean isValidToEmit(Subscriber<?> subscriber) { return null != subscriber && !subscriber.isUnsubscribed(); }
@Override public void call(Subscriber<? super PooledConnection<R, W>> subscriber) { PooledConnection<R, W> idleConnection; while (!subscriber.isUnsubscribed() && (idleConnection = idleConnections.poll()) != null) { subscriber.onNext(idleConnection); } if (!subscriber.isUnsubscribed()) { subscriber.onCompleted(); } } });
protected boolean connectionInputSubscriberExists(Channel channel) { assert channel.eventLoop().inEventLoop(); return null != readProducer && null != readProducer.subscriber && !readProducer.subscriber.isUnsubscribed(); }
@Override protected boolean shouldReadMore(ChannelHandlerContext ctx) { return !subscriber.isUnsubscribed() && REQUEST_UPDATER.get(this) > 0; }
@Override public void call(final Subscriber<? super T> subscriber) { /** * You would replace this code with your file reading. Instead of emitting from an iterator, * you would create a bean object that represents the entity, and then emit it */ try { while (!subscriber.isUnsubscribed() && input.hasNext()) { //send our input to the next subscriber.onNext((T) input.next()); } //tell the subscriber we don't have any more data subscriber.onCompleted(); } catch (Throwable t) { logger.error("failed on subscriber", t); subscriber.onError(t); } } }
if (!subscriber.isUnsubscribed()) { try { final T response = getSyncInvoker().method(name, entity, responseType); if (!subscriber.isUnsubscribed()) { subscriber.onNext(response); if (!subscriber.isUnsubscribed()) { subscriber.onCompleted(); if (!subscriber.isUnsubscribed()) { subscriber.onError(throwable);
public void onCompleted() { /** * Invoke next to remove any elements from other Q's from this event */ next(); final int completed = completedCount.incrementAndGet(); //we're done, just drain the queue since there are no more running producers if ( completed == innerSubscribers.size() ) { if (logger.isTraceEnabled()) logger.trace( "Completing Observable. Draining {} elements from the subscribers", innerSubscribers.size() ); //Drain the queues while ( !subscriber.isUnsubscribed() && (!nextValues.isEmpty() || !toProduce.isEmpty()) ) { next(); } //signal completion subscriber.onCompleted(); } }
@Override public void call(Subscriber<? super T> subscriber) { try { LazyList<T> lazyList = query.forCurrentThread().listLazyUncached(); try { for (T entity : lazyList) { if (subscriber.isUnsubscribed()) { break; } subscriber.onNext(entity); } } finally { lazyList.close(); } if (!subscriber.isUnsubscribed()) { subscriber.onCompleted(); } } catch (Throwable e) { Exceptions.throwIfFatal(e); subscriber.onError(e); } } });
@Override public void call( final Subscriber<? super T> subscriber ) { try { subscriber.onStart(); //get our iterator and push data to the observer final Iterator<T> itr = getIterator(); Preconditions.checkNotNull( itr, "The observable must return an iterator. Null was returned for iterator " + name ); //while we have items to emit and our subscriber is subscribed, we want to keep emitting items while ( itr.hasNext() && !subscriber.isUnsubscribed() ) { final T next = itr.next(); if (logger.isTraceEnabled()) logger.trace( "Iterator '{}' emitting item '{}'", name, next ); subscriber.onNext( next ); } subscriber.onCompleted(); } //if any error occurs, we need to notify the observer so it can perform it's own error handling catch ( Throwable t ) { subscriber.onError( t ); } }
if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForServerResponse(new ANError(okHttpResponse), request, okHttpResponse.code())); if (!subscriber.isUnsubscribed()) { ANResponse<T> response = (ANResponse<T>) ANResponse.success(ANConstants.SUCCESS); subscriber.onNext(response.getResult()); if (!subscriber.isUnsubscribed()) { subscriber.onCompleted(); e.printStackTrace(); if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForConnection(new ANError(ioe))); if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForConnection(new ANError(e)));
if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForServerResponse(new ANError(okHttpResponse), request, okHttpResponse.code())); ANResponse<T> response = request.parseResponse(okHttpResponse); if (!response.isSuccess()) { if (!subscriber.isUnsubscribed()) { subscriber.onError(response.getError()); if (!subscriber.isUnsubscribed()) { subscriber.onNext(response.getResult()); if (!subscriber.isUnsubscribed()) { subscriber.onCompleted(); if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForConnection(new ANError(ioe))); if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForConnection(new ANError(e)));
if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForServerResponse(new ANError(okHttpResponse), request, okHttpResponse.code())); ANResponse<T> response = request.parseResponse(okHttpResponse); if (!response.isSuccess()) { if (!subscriber.isUnsubscribed()) { subscriber.onError(response.getError()); if (!subscriber.isUnsubscribed()) { subscriber.onNext(response.getResult()); if (!subscriber.isUnsubscribed()) { subscriber.onCompleted(); if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForConnection(new ANError(ioe))); if (!subscriber.isUnsubscribed()) { subscriber.onError(Utils.getErrorForConnection(new ANError(e)));
while ( !subscriber.isUnsubscribed() ) { if(subscriber.isUnsubscribed()){ return;
/** * If subscribe unsubscribed sets keepGoing to false. * * @param subscriber */ private void checkSubscription(Subscriber<? super T> subscriber) { if (subscriber.isUnsubscribed()) { keepGoing = false; log.debug("unsubscribing"); } }
/** * Tells observer that stream is complete and closes resources. * * @param subscriber */ private void complete(Subscriber<? super T> subscriber) { if (subscriber.isUnsubscribed()) { log.debug("unsubscribed"); } else { log.debug("onCompleted"); subscriber.onCompleted(); } }
private void requestAll() { node.searchWithoutBackpressure(condition, subscriber); if (!subscriber.isUnsubscribed()) subscriber.onCompleted(); }
/** * Notify observer that sequence is complete. * * @param subscriber * @param state */ private void complete(Subscriber<? super T> subscriber) { if (!subscriber.isUnsubscribed()) { debug("onCompleted"); subscriber.onCompleted(); } else debug("unsubscribed"); }
public static <T, S extends Geometry> void search(Func1<? super Geometry, Boolean> condition, Subscriber<? super Entry<T, S>> subscriber, Leaf<T, S> leaf) { if (!condition.call(leaf.geometry().mbr())) { return; } for (int i = 0; i < leaf.count(); i++) { Entry<T, S> entry = leaf.entry(i); if (subscriber.isUnsubscribed()) { return; } else { if (condition.call(entry.geometry())) subscriber.onNext(entry); } } }
public static <T, S extends Geometry> void search(Func1<? super Geometry, Boolean> criterion, Subscriber<? super Entry<T, S>> subscriber, NonLeaf<T, S> node) { if (!criterion.call(node.geometry().mbr())) return; int numChildren = node.count(); for (int i = 0; i < numChildren; i++) { if (subscriber.isUnsubscribed()) { return; } else { Node<T, S> child = node.child(i); child.searchWithoutBackpressure(criterion, subscriber); } } }