@Override public void run() { if (!running.get() || processor.isTerminated()) { WaitStrategy.alert(); } } };
@Override @Nullable public Object scanUnsafe(Attr key) { if (key == Attr.PARENT) return processor; if (key == Attr.PREFETCH) return Integer.MAX_VALUE; if (key == Attr.TERMINATED) return processor.isTerminated(); if (key == Attr.CANCELLED) return !running.get(); if (key == Attr.REQUESTED_FROM_DOWNSTREAM) return pendingRequest.getAsLong(); if (key == Attr.LARGE_BUFFERED) { return processor.ringBuffer.getCursor() - sequence.getAsLong(); } if (key == Attr.BUFFERED) { long realBuffered = processor.ringBuffer.getCursor() - sequence.getAsLong(); if (realBuffered <= Integer.MAX_VALUE) { return (int) realBuffered; } return Integer.MIN_VALUE; } return InnerProducer.super.scanUnsafe(key); }
0) { if(!running.get() || processor.isTerminated()){ WaitStrategy.alert();
@Override public void run() { if (!running.get() || processor.isTerminated()) { WaitStrategy.alert(); } } };
@Override @Nullable public Object scanUnsafe(Attr key) { if (key == Attr.PARENT) return processor; if (key == Attr.PREFETCH) return Integer.MAX_VALUE; if (key == Attr.TERMINATED) return processor.isTerminated(); if (key == Attr.CANCELLED) return !running.get(); if (key == Attr.REQUESTED_FROM_DOWNSTREAM) return pendingRequest.getAsLong(); if (key == Attr.LARGE_BUFFERED) { return processor.ringBuffer.getCursor() - sequence.getAsLong(); } if (key == Attr.BUFFERED) { long realBuffered = processor.ringBuffer.getCursor() - sequence.getAsLong(); if (realBuffered <= Integer.MAX_VALUE) { return (int) realBuffered; } return Integer.MIN_VALUE; } return InnerProducer.super.scanUnsafe(key); }
0) { if(!running.get() || processor.isTerminated()){ WaitStrategy.alert();