use new servers not total for the log

This commit is contained in:
Lee 2024-04-29 07:05:50 +01:00
parent d439a7936a
commit 991aad6502
2 changed files with 13 additions and 10 deletions

@ -6,9 +6,9 @@ import lombok.Getter;
@AllArgsConstructor @Getter @AllArgsConstructor @Getter
public class PiaServerToken { public class PiaServerToken {
/** /**
* The hostname for this server. * The ip for this server.
*/ */
private final String hostname; private final String ip;
/** /**
* The region this server is in. * The region this server is in.

@ -12,7 +12,6 @@ import org.xbill.DNS.Record;
import org.xbill.DNS.*; import org.xbill.DNS.*;
import java.io.File; import java.io.File;
import java.net.InetAddress;
import java.net.URI; import java.net.URI;
import java.net.http.HttpClient; import java.net.http.HttpClient;
import java.net.http.HttpRequest; import java.net.http.HttpRequest;
@ -44,14 +43,14 @@ public class PiaManager {
GitUtils.cloneRepo(); // Clone the repository GitUtils.cloneRepo(); // Clone the repository
// Update the servers every 5 minutes // Update the servers every 2 minutes
new Timer().scheduleAtFixedRate(new TimerTask() { new Timer().scheduleAtFixedRate(new TimerTask() {
@Override @Override
public void run() { public void run() {
updateServers(serversFile); // Update the servers updateServers(serversFile); // Update the servers
README_PATH = ReadMeManager.updateReadme(); // Update the README.md README_PATH = ReadMeManager.updateReadme(); // Update the README.md
} }
}, 0, TimeUnit.MINUTES.toMillis(5)); }, 0, TimeUnit.MINUTES.toMillis(2));
// Commit the files every hour // Commit the files every hour
new Timer().scheduleAtFixedRate(new TimerTask() { new Timer().scheduleAtFixedRate(new TimerTask() {
@ -76,20 +75,24 @@ public class PiaManager {
toRemove.add(server); toRemove.add(server);
} }
} }
SERVERS.removeAll(toRemove); // Remove the servers toRemove.forEach(SERVERS::remove); // Remove the servers
System.out.printf("Removed %s old servers\n", toRemove.size()); System.out.printf("Removed %s old servers\n", toRemove.size());
int newServers = 0;
// Add the new servers to the list // Add the new servers to the list
for (PiaServerToken serverToken : piaDomain) { for (PiaServerToken serverToken : piaDomain) {
InetAddress address = InetAddress.getByName(serverToken.getHostname());
// Add the server to the list // Add the server to the list
SERVERS.add(new PiaServer(address.getHostAddress(), serverToken.getRegion(), new Date())); PiaServer server = new PiaServer(serverToken.getIp(), serverToken.getRegion(), new Date());
SERVERS.add(server);
if (!SERVERS.contains(server)) {
newServers++;
}
} }
// Save the servers to the file // Save the servers to the file
Files.writeString(serversFile.toPath(), Main.GSON.toJson(SERVERS)); Files.writeString(serversFile.toPath(), Main.GSON.toJson(SERVERS));
System.out.printf("Wrote %s servers to the file\n", SERVERS.size()); System.out.printf("Wrote %s new servers to the file\n", newServers);
} }
@SneakyThrows @SneakyThrows