Skip to content

Commit 6272a95

Browse files
committed
clarify variable/function names
1 parent 30f1470 commit 6272a95

File tree

1 file changed

+29
-25
lines changed

1 file changed

+29
-25
lines changed

servicetalk-concurrent-api/src/main/java/io/servicetalk/concurrent/api/PublisherAsBlockingIterable.java

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -287,17 +287,17 @@ private static final class SpscBlockingQueue<T> implements BlockingQueue<T> {
287287
getLong("io.servicetalk.concurrent.internal.blockingIterableYieldNs", 1024);
288288

289289
@SuppressWarnings("rawtypes")
290-
private static final AtomicLongFieldUpdater<SpscBlockingQueue> pcIndexUpdater =
291-
AtomicLongFieldUpdater.newUpdater(SpscBlockingQueue.class, "pcIndex");
290+
private static final AtomicLongFieldUpdater<SpscBlockingQueue> producerConsumerIndexUpdater =
291+
AtomicLongFieldUpdater.newUpdater(SpscBlockingQueue.class, "producerConsumerIndex");
292292
private final Queue<T> spscQueue;
293293
@Nullable
294294
private Thread consumerThread;
295295
/**
296-
* high 32 bits == producer index (see {@link #pIndex(long)})
297-
* low 32 bits == consumer index (see {@link #cIndex(long)}}
298-
* @see #computePCIndex(int, int)
296+
* high 32 bits == producer index (see {@link #producerIndex(long)})
297+
* low 32 bits == consumer index (see {@link #consumerIndex(long)}}
298+
* @see #combineIndexes(int, int)
299299
*/
300-
private volatile long pcIndex;
300+
private volatile long producerConsumerIndex;
301301

302302
SpscBlockingQueue(Queue<T> spscQueue) {
303303
this.spscQueue = requireNonNull(spscQueue);
@@ -513,10 +513,11 @@ public String toString() {
513513

514514
private void producerSignalAdded() {
515515
for (;;) {
516-
final long currIndex = pcIndex;
517-
final int producer = pIndex(currIndex);
518-
final int consumer = cIndex(currIndex);
519-
if (pcIndexUpdater.compareAndSet(this, currIndex, computePCIndex(producer + 1, consumer))) {
516+
final long currIndex = producerConsumerIndex;
517+
final int producer = producerIndex(currIndex);
518+
final int consumer = consumerIndex(currIndex);
519+
if (producerConsumerIndexUpdater.compareAndSet(this, currIndex,
520+
combineIndexes(producer + 1, consumer))) {
520521
if (producer - consumer <= 0 && consumerThread != null) {
521522
final Thread wakeThread = consumerThread;
522523
consumerThread = null;
@@ -530,20 +531,22 @@ private void producerSignalAdded() {
530531
private T take0(BiLongFunction<TimeUnit, T> taker, long timeout, TimeUnit unit) throws InterruptedException {
531532
final Thread currentThread = Thread.currentThread();
532533
for (;;) {
533-
long currIndex = pcIndex;
534-
final int producer = pIndex(currIndex);
535-
final int consumer = cIndex(currIndex);
534+
long currIndex = producerConsumerIndex;
535+
final int producer = producerIndex(currIndex);
536+
final int consumer = consumerIndex(currIndex);
536537
if (producer == consumer) {
537538
// Set consumerThread before pcIndex, to establish happens-before with producer thread.
538539
consumerThread = currentThread;
539-
if (pcIndexUpdater.compareAndSet(this, currIndex, computePCIndex(producer, consumer + 1))) {
540+
if (producerConsumerIndexUpdater.compareAndSet(this, currIndex,
541+
combineIndexes(producer, consumer + 1))) {
540542
return taker.apply(timeout, unit);
541543
}
542544
} else {
543545
final T item = spscQueue.poll();
544546
if (item != null) {
545-
while (!pcIndexUpdater.compareAndSet(this, currIndex, computePCIndex(producer, consumer + 1))) {
546-
currIndex = pcIndex;
547+
while (!producerConsumerIndexUpdater.compareAndSet(this, currIndex,
548+
combineIndexes(producer, consumer + 1))) {
549+
currIndex = producerConsumerIndex;
547550
}
548551
return item;
549552
}
@@ -555,10 +558,11 @@ private T take0(BiLongFunction<TimeUnit, T> taker, long timeout, TimeUnit unit)
555558

556559
private void consumerSignalRemoved(final int i) {
557560
for (;;) {
558-
final long currIndex = pcIndex;
559-
final int producer = pIndex(currIndex);
560-
final int consumer = cIndex(currIndex);
561-
if (pcIndexUpdater.compareAndSet(this, currIndex, computePCIndex(producer, consumer + i))) {
561+
final long currIndex = producerConsumerIndex;
562+
final int producer = producerIndex(currIndex);
563+
final int consumer = consumerIndex(currIndex);
564+
if (producerConsumerIndexUpdater.compareAndSet(this, currIndex,
565+
combineIndexes(producer, consumer + i))) {
562566
break;
563567
}
564568
}
@@ -616,16 +620,16 @@ private static void checkInterrupted() throws InterruptedException {
616620
}
617621
}
618622

619-
private static long computePCIndex(int producer, int consumer) {
623+
private static long combineIndexes(int producer, int consumer) {
620624
return ((long) producer << 32) | consumer;
621625
}
622626

623-
private static int cIndex(long pcIndex) {
624-
return (int) pcIndex;
627+
private static int consumerIndex(long producerConsumerIndex) {
628+
return (int) producerConsumerIndex;
625629
}
626630

627-
private static int pIndex(long pcIndex) {
628-
return (int) (pcIndex >>> 32);
631+
private static int producerIndex(long producerConsumerIndex) {
632+
return (int) (producerConsumerIndex >>> 32);
629633
}
630634

631635
private interface BiLongFunction<T, R> {

0 commit comments

Comments
 (0)