package io.reactivex.internal.queue; import io.reactivex.internal.fuseable.SimplePlainQueue; import java.util.concurrent.atomic.AtomicReference; /* loaded from: classes2.dex */ public final class MpscLinkedQueue implements SimplePlainQueue { private final AtomicReference> a = new AtomicReference<>(); private final AtomicReference> b = new AtomicReference<>(); static final class LinkedQueueNode extends AtomicReference> { private E a; LinkedQueueNode() { } public E a() { E b = b(); a((LinkedQueueNode) null); return b; } public E b() { return this.a; } public LinkedQueueNode c() { return get(); } LinkedQueueNode(E e) { a((LinkedQueueNode) e); } public void a(E e) { this.a = e; } public void a(LinkedQueueNode linkedQueueNode) { lazySet(linkedQueueNode); } } public MpscLinkedQueue() { LinkedQueueNode linkedQueueNode = new LinkedQueueNode<>(); a(linkedQueueNode); b(linkedQueueNode); } LinkedQueueNode a() { return this.b.get(); } LinkedQueueNode b(LinkedQueueNode linkedQueueNode) { return this.a.getAndSet(linkedQueueNode); } LinkedQueueNode c() { return this.a.get(); } @Override // io.reactivex.internal.fuseable.SimpleQueue public void clear() { while (poll() != null && !isEmpty()) { } } @Override // io.reactivex.internal.fuseable.SimpleQueue public boolean isEmpty() { return b() == c(); } @Override // io.reactivex.internal.fuseable.SimpleQueue public boolean offer(T t) { if (t == null) { throw new NullPointerException("Null is not a valid element"); } LinkedQueueNode linkedQueueNode = new LinkedQueueNode<>(t); b(linkedQueueNode).a(linkedQueueNode); return true; } @Override // io.reactivex.internal.fuseable.SimplePlainQueue, io.reactivex.internal.fuseable.SimpleQueue public T poll() { LinkedQueueNode c; LinkedQueueNode a = a(); LinkedQueueNode c2 = a.c(); if (c2 != null) { T a2 = c2.a(); a(c2); return a2; } if (a == c()) { return null; } do { c = a.c(); } while (c == null); T a3 = c.a(); a(c); return a3; } void a(LinkedQueueNode linkedQueueNode) { this.b.lazySet(linkedQueueNode); } LinkedQueueNode b() { return this.b.get(); } }