void handleMainPublisher() { if (mainActive.getAndIncrement()==0) { do { if (!sub.isOpen) { return; } if (!running) { Object next = ops.poll(); if (complete && next==null) { onComplete.run(); break; }else if(next!=null) { operatorsSub.request(1l); Operator<IN> pub = (Operator<IN>) nilsafeOut(next); running = true; nextSub(pub); } } } while (mainActive.decrementAndGet()!=0) ; } }
void handleMainPublisher() { if (mainActive.getAndIncrement()==0) { do { if (!sub.isOpen) { return; } if (!running) { Object next = ops.poll(); if (complete && next==null) { onComplete.run(); break; }else if(next!=null) { operatorsSub.request(1l); Operator<IN> pub = (Operator<IN>) nilsafeOut(next); running = true; nextSub(pub); } } } while (mainActive.decrementAndGet()!=0) ; } }