mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-12 06:58:11 +02:00
Mojang was sleeping even if we had no more requests to go after the current one finished, resulting in 100ms lost per profile lookup
37 lines
1.7 KiB
Diff
37 lines
1.7 KiB
Diff
From 7ac07ac07ac07ac07ac07ac07ac07ac07ac07ac0 Mon Sep 17 00:00:00 2001
|
|
From: Aikar <aikar@aikar.co>
|
|
Date: Tue, 23 Oct 2018 20:25:05 -0400
|
|
Subject: [PATCH] Don't sleep after profile lookups if not needed
|
|
|
|
Mojang was sleeping even if we had no more requests to go after
|
|
the current one finished, resulting in 100ms lost per profile lookup
|
|
|
|
diff --git a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
|
|
index 7ac07ac07ac0..7ac07ac07ac0 100644
|
|
--- a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
|
|
+++ b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
|
|
@@ -42,6 +42,7 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository {
|
|
}
|
|
|
|
final int page = 0;
|
|
+ boolean hasRequested = false; // Paper
|
|
|
|
for (final List<String> request : Iterables.partition(criteria, ENTRIES_PER_PAGE)) {
|
|
int failCount = 0;
|
|
@@ -67,6 +68,12 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository {
|
|
LOGGER.debug("Couldn't find profile {}", name);
|
|
callback.onProfileLookupFailed(new GameProfile(null, name), new ProfileNotFoundException("Server did not find the requested profile"));
|
|
}
|
|
+ // Paper start
|
|
+ if (!hasRequested) {
|
|
+ hasRequested = true;
|
|
+ continue;
|
|
+ }
|
|
+ // Paper end
|
|
|
|
try {
|
|
Thread.sleep(DELAY_BETWEEN_PAGES);
|
|
--
|
|
2.19.1
|
|
|