From 9ecb61086aee06bd1b5b9b7e01c5059e3228c74d Mon Sep 17 00:00:00 2001 From: RaphiMC <50594595+RaphiMC@users.noreply.github.com> Date: Fri, 7 Jun 2024 20:05:54 +0200 Subject: [PATCH] Use expiring map for temporary transfer data storage --- .../raphimc/viaproxy/proxy/util/TransferDataHolder.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/net/raphimc/viaproxy/proxy/util/TransferDataHolder.java b/src/main/java/net/raphimc/viaproxy/proxy/util/TransferDataHolder.java index 7b75b71..5638490 100644 --- a/src/main/java/net/raphimc/viaproxy/proxy/util/TransferDataHolder.java +++ b/src/main/java/net/raphimc/viaproxy/proxy/util/TransferDataHolder.java @@ -17,18 +17,19 @@ */ package net.raphimc.viaproxy.proxy.util; +import com.google.common.cache.CacheBuilder; import com.viaversion.viabackwards.protocol.v1_20_5to1_20_3.storage.CookieStorage; import io.netty.channel.Channel; import java.net.InetAddress; import java.net.InetSocketAddress; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.TimeUnit; public class TransferDataHolder { - private static final Map TEMP_REDIRECTS = new ConcurrentHashMap<>(); - private static final Map COOKIE_STORAGES = new ConcurrentHashMap<>(); + private static final Map TEMP_REDIRECTS = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).build().asMap(); + private static final Map COOKIE_STORAGES = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).build().asMap(); public static void addTempRedirect(final Channel channel, final InetSocketAddress redirect) { TEMP_REDIRECTS.put(getChannelAddress(channel), redirect);