@Override public void onSubscribe(Flow.Subscription subscription) { this.subscriptionRef.set(subscription); subscription.request(2); }
@Override public void onNext(List<ByteBuffer> item) { buffers.addAll(item); subscription.request(1); }
@Override public void onSubscribe(Flow.Subscription subscription) { this.subscriptionRef.set(subscription); subscription.request(1); }
subscriptionRef.get().request(1);
@Override public void onNext(Fragment fragment) { if (fragment.isStreamingControl()) { limitedMatchesRef.set(fragment.isLimited()); return; } if (documents.size() >= limit) { // document limit reached subscriptionRef.get().cancel(); return; } DocumentKey fragmentDocumentKey = DocumentKey.from(fragment); documentKeyRef.compareAndSet(null, fragmentDocumentKey); if (documentKeyRef.get().equals(fragmentDocumentKey)) { fragmentsByPath.computeIfAbsent(fragment.path(), path -> new ArrayList<>()).add(fragment); } else { addPendingDocumentAndResetMap(); fragmentsByPath.computeIfAbsent(fragment.path(), path -> new ArrayList<>()).add(fragment); documentKeyRef.set(fragmentDocumentKey); } subscriptionRef.get().request(1); }
@Override public void onComplete() { synchronized (AggregateSubscription.this) { index++; if (index == publishers.length) { subscriber.onComplete(); } else { var bodyPublisher = publishers[index]; bodyPublisher.subscribe(this); if (requestCount > 0) { currentSubscription.request(requestCount); requestCount = 0; } } } } }
@Override public void request(long n) { flow.request(n); }
@Override public void request(long n) { s.request(n); }
@Override public void onSubscribe(Flow.Subscription subscription) { this.subscription = subscription; subscription.request(1); }
@Override public void onNext(List<ByteBuffer> item) { content.offer(item); subscription.request(1); }
@Override public void onSubscribe(Flow.Subscription subscription) { this.subscription = subscription; this.subscription.request(1); }
@Override public void request(long n) { s.request(n); }
@Override public void request(long n) { synchronized (this) { requestCount += n; currentSubscription.request(n); } }
@Override public void request(long n) { subscription.request(n); }
@Override public void request(long n) { subscription.request(n); }