Use expiring map for temporary transfer data storage

This commit is contained in:
RaphiMC 2024-06-07 20:05:54 +02:00
parent 7948f7508f
commit 9ecb61086a
No known key found for this signature in database
GPG Key ID: 0F6BB0657A03AC94

View File

@ -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<InetAddress, InetSocketAddress> TEMP_REDIRECTS = new ConcurrentHashMap<>();
private static final Map<InetAddress, CookieStorage> COOKIE_STORAGES = new ConcurrentHashMap<>();
private static final Map<InetAddress, InetSocketAddress> TEMP_REDIRECTS = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).<InetAddress, InetSocketAddress>build().asMap();
private static final Map<InetAddress, CookieStorage> COOKIE_STORAGES = CacheBuilder.newBuilder().expireAfterWrite(1, TimeUnit.MINUTES).<InetAddress, CookieStorage>build().asMap();
public static void addTempRedirect(final Channel channel, final InetSocketAddress redirect) {
TEMP_REDIRECTS.put(getChannelAddress(channel), redirect);