61 lines
2.1 KiB
Java
61 lines
2.1 KiB
Java
package com.discord.models.domain;
|
|
|
|
import com.discord.utilities.SnowflakeUtils;
|
|
import com.discord.utilities.time.Clock;
|
|
import com.discord.utilities.time.ClockFactory;
|
|
import d0.z.d.m;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
/* compiled from: NonceGenerator.kt */
|
|
public final class NonceGenerator {
|
|
public static final Companion Companion = new Companion(null);
|
|
private static long previousNonce;
|
|
|
|
/* compiled from: NonceGenerator.kt */
|
|
public static final class Companion {
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public static /* synthetic */ long computeNonce$default(Companion companion, Clock clock, int i, Object obj) {
|
|
if ((i & 1) != 0) {
|
|
clock = ClockFactory.get();
|
|
}
|
|
return companion.computeNonce(clock);
|
|
}
|
|
|
|
public final synchronized long computeNonce(Clock clock) {
|
|
long currentTimeMillis;
|
|
m.checkNotNullParameter(clock, "clock");
|
|
currentTimeMillis = ((clock.currentTimeMillis() + 1471228928) - SnowflakeUtils.DISCORD_EPOCH) << 22;
|
|
if (currentTimeMillis <= NonceGenerator.access$getPreviousNonce$cp()) {
|
|
currentTimeMillis = NonceGenerator.access$getPreviousNonce$cp() + 1;
|
|
}
|
|
NonceGenerator.access$setPreviousNonce$cp(currentTimeMillis);
|
|
return currentTimeMillis;
|
|
}
|
|
}
|
|
|
|
public static final /* synthetic */ long access$getPreviousNonce$cp() {
|
|
return previousNonce;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setPreviousNonce$cp(long j) {
|
|
previousNonce = j;
|
|
}
|
|
|
|
public static final synchronized long computeNonce(Clock clock) {
|
|
long computeNonce;
|
|
synchronized (NonceGenerator.class) {
|
|
computeNonce = Companion.computeNonce(clock);
|
|
}
|
|
return computeNonce;
|
|
}
|
|
|
|
public final long nonce() {
|
|
return Companion.computeNonce$default(Companion, null, 1, null);
|
|
}
|
|
}
|