IceServerConfig class

Пакет: com.hypixel.hytale.server.core.io.ice

Файл: com/hypixel/hytale/server/core/io/ice/IceServerConfig.java

Поля (19)

МодификаторыТипИмя
continue
continue
LiveConfigModule var0
LiveConfigModule var0
ArrayList var1
String var10
boolean var11
boolean var12
int var13
boolean var2
var2
var2
var2
var2
var2
String var7
int var8
String var9
var9

Методы (5)

МодификаторыВозвратСигнатура
if if(var11 != var12)
if if(var11)
if if(var13 < 1 || var13 > 65535)
if if(var2)
static boolean isIceEnabledboolean isIceEnabled()

Исходный код

Показать/скрыть
class="kw">package com.hypixel.hytale.server.core.io.ice;

class="kw">import com.hypixel.hytale.logger.HytaleLogger;
class="kw">import com.hypixel.hytale.server.core.liveconfig.LiveConfigModule;
class="kw">import java.util.ArrayList;
class="kw">import java.util.List;
class="kw">import java.util.logging.Level;
class="kw">import javax.annotation.Nonnull;

class="kw">public class="kw">final class IceServerConfig {
   @Nonnull
   class="kw">public class="kw">static class="kw">final String FALLBACK_STUN_SERVER = "stun.cloudflare.com:3478";
   class="kw">private class="kw">static class="kw">final int MAX_STUN_SERVERS = 8;
   class="kw">private class="kw">static class="kw">final String ENABLE_ICE_FLAG = "enable_ice_framework";
   class="kw">private class="kw">static class="kw">final String STUN_SERVERS_FLAG = "ice_stun_servers";
   class="kw">static class="kw">final boolean ENABLE_ICE_DEFAULT = true;
   class="kw">private class="kw">static class="kw">final HytaleLogger LOGGER = HytaleLogger.forEnclosingClass();

   class="kw">private IceServerConfig() {
   }

   class="kw">public class="kw">static boolean isIceEnabled() {
      LiveConfigModule var0 = LiveConfigModule.get();
      class="kw">return var0 == null ? false : var0.getBoolFlag("enable_ice_framework", true);
   }

   @Nonnull
   class="kw">public class="kw">static List<String> stunServers() {
      LiveConfigModule var0 = LiveConfigModule.get();
      class="kw">return var0 == null ? List.of("stun.cloudflare.com:3478") : parseStunServers(var0.getStringFlag("ice_stun_servers", "stun.cloudflare.com:3478"));
   }

   @Nonnull
   class="kw">static List<String> parseStunServers(@Nonnull String var0) {
      ArrayList var1 = new ArrayList<>(8);
      boolean var2 = false;

      for (String var6 : var0.split(",", -1)) {
         String var7 = var6.trim();
         if (!var7.isEmpty()) {
            int var8 = var7.lastIndexOf(58);
            if (var8 > 0 && var8 != var7.length() - 1) {
               String var9 = var7.substring(0, var8);
               String var10 = var7.substring(var8 + 1);
               boolean var11 = var9.startsWith("[");
               boolean var12 = var9.endsWith("]");
               if (var11 != var12) {
                  var2 = true;
               } else {
                  if (var11) {
                     var9 = var9.substring(1, var9.length() - 1);
                  }

                  if (var9.isEmpty()) {
                     var2 = true;
                  } else {
                     try {
                        int var13 = Integer.parseInt(var10);
                        if (var13 < 1 || var13 > 65535) {
                           var2 = true;
                           class="kw">continue;
                        }
                     } catch (NumberFormatException var14) {
                        var2 = true;
                        class="kw">continue;
                     }

                     if (var1.size() < 8) {
                        var1.add(var9 + ":" + var10);
                     }
                  }
               }
            } else {
               var2 = true;
            }
         }
      }

      if (var2) {
         LOGGER.at(Level.WARNING).log("Ignored malformed entries in the ICE STUN server flag");
      }

      class="kw">return var1.isEmpty() ? List.of("stun.cloudflare.com:3478") : List.copyOf(var1);
   }
}