2021-06-11 14:02:28 +02:00
|
|
|
From 0000000000000000000000000000000000000000 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
|
2023-12-05 23:21:44 +01:00
|
|
|
index b87546f0061458b2b919a1fe00dde1f4eea6cb3e..498623aa5da5fb861615c602019784d66a84e3a0 100644
|
2021-06-11 14:02:28 +02:00
|
|
|
--- a/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
|
|
|
|
+++ b/src/main/java/com/mojang/authlib/yggdrasil/YggdrasilGameProfileRepository.java
|
2023-09-22 00:26:51 +02:00
|
|
|
@@ -44,6 +44,7 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository {
|
|
|
|
.collect(Collectors.toSet());
|
2021-06-11 14:02:28 +02:00
|
|
|
|
|
|
|
final int page = 0;
|
|
|
|
+ boolean hasRequested = false; // Paper
|
|
|
|
|
|
|
|
for (final List<String> request : Iterables.partition(criteria, ENTRIES_PER_PAGE)) {
|
2023-09-22 00:26:51 +02:00
|
|
|
final List<String> normalizedRequest = request.stream().map(YggdrasilGameProfileRepository::normalizeName).toList();
|
|
|
|
@@ -75,6 +76,12 @@ public class YggdrasilGameProfileRepository implements GameProfileRepository {
|
2021-06-11 14:02:28 +02:00
|
|
|
LOGGER.debug("Couldn't find profile {}", name);
|
2023-09-22 00:26:51 +02:00
|
|
|
callback.onProfileLookupFailed(name, new ProfileNotFoundException("Server did not find the requested profile"));
|
2021-06-11 14:02:28 +02:00
|
|
|
}
|
|
|
|
+ // Paper start
|
|
|
|
+ if (!hasRequested) {
|
|
|
|
+ hasRequested = true;
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+ // Paper end
|
|
|
|
|
|
|
|
try {
|
|
|
|
Thread.sleep(DELAY_BETWEEN_PAGES);
|