Files
rr3-apk/decompiled/sources/com/mbridge/msdk/thrid/okio/Timeout.java
Daniel Elliott f9d20bb3fc Add decompiled APK source code (JADX)
- 28,932 files
- Full Java source code
- Smali files
- Resources

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-18 14:52:23 -08:00

119 lines
3.7 KiB
Java

package com.mbridge.msdk.thrid.okio;
import java.io.IOException;
import java.io.InterruptedIOException;
import java.util.concurrent.TimeUnit;
/* loaded from: classes4.dex */
public class Timeout {
public static final Timeout NONE = new Timeout() { // from class: com.mbridge.msdk.thrid.okio.Timeout.1
@Override // com.mbridge.msdk.thrid.okio.Timeout
public Timeout deadlineNanoTime(long j) {
return this;
}
@Override // com.mbridge.msdk.thrid.okio.Timeout
public void throwIfReached() throws IOException {
}
@Override // com.mbridge.msdk.thrid.okio.Timeout
public Timeout timeout(long j, TimeUnit timeUnit) {
return this;
}
};
private long deadlineNanoTime;
private boolean hasDeadline;
private long timeoutNanos;
public Timeout clearDeadline() {
this.hasDeadline = false;
return this;
}
public Timeout clearTimeout() {
this.timeoutNanos = 0L;
return this;
}
public Timeout deadlineNanoTime(long j) {
this.hasDeadline = true;
this.deadlineNanoTime = j;
return this;
}
public boolean hasDeadline() {
return this.hasDeadline;
}
public long timeoutNanos() {
return this.timeoutNanos;
}
public Timeout timeout(long j, TimeUnit timeUnit) {
if (j >= 0) {
if (timeUnit == null) {
throw new IllegalArgumentException("unit == null");
}
this.timeoutNanos = timeUnit.toNanos(j);
return this;
}
throw new IllegalArgumentException("timeout < 0: " + j);
}
public long deadlineNanoTime() {
if (this.hasDeadline) {
return this.deadlineNanoTime;
}
throw new IllegalStateException("No deadline");
}
public final Timeout deadline(long j, TimeUnit timeUnit) {
if (j > 0) {
if (timeUnit == null) {
throw new IllegalArgumentException("unit == null");
}
return deadlineNanoTime(System.nanoTime() + timeUnit.toNanos(j));
}
throw new IllegalArgumentException("duration <= 0: " + j);
}
public void throwIfReached() throws IOException {
if (Thread.interrupted()) {
Thread.currentThread().interrupt();
throw new InterruptedIOException("interrupted");
}
if (this.hasDeadline && this.deadlineNanoTime - System.nanoTime() <= 0) {
throw new InterruptedIOException("deadline reached");
}
}
public final void waitUntilNotified(Object obj) throws InterruptedIOException {
try {
boolean hasDeadline = hasDeadline();
long timeoutNanos = timeoutNanos();
long j = 0;
if (!hasDeadline && timeoutNanos == 0) {
obj.wait();
return;
}
long nanoTime = System.nanoTime();
if (hasDeadline && timeoutNanos != 0) {
timeoutNanos = Math.min(timeoutNanos, deadlineNanoTime() - nanoTime);
} else if (hasDeadline) {
timeoutNanos = deadlineNanoTime() - nanoTime;
}
if (timeoutNanos > 0) {
long j2 = timeoutNanos / 1000000;
obj.wait(j2, (int) (timeoutNanos - (1000000 * j2)));
j = System.nanoTime() - nanoTime;
}
if (j >= timeoutNanos) {
throw new InterruptedIOException("timeout");
}
} catch (InterruptedException unused) {
Thread.currentThread().interrupt();
throw new InterruptedIOException("interrupted");
}
}
}