PacketStatsCommand class

Пакет: com.hypixel.hytale.server.core.command.commands.debug

Файл: com/hypixel/hytale/server/core/command/commands/debug/PacketStatsCommand.java

extends: AbstractTargetPlayerCommand

Поля (17)

МодификаторыТипИмя
ObjectArrayList var1
PacketStatsRecorder.PacketStatsEntry var10
Message var11
PacketStatsRecorder.RecentStats var12
int var13
Message var14
Message var15
PacketStatsRecorder.RecentStats var16
int var17
Message var18
PacketStatsRecorder.PacketStatsEntry var3
PacketStatsRecorder.PacketStatsEntry var3
String var4
String var4
String var7
PacketHandler var8
PacketStatsRecorder var9

Методы (7)

МодификаторыВозвратСигнатура
for for(int var2 = 0; var2 < 512; var2++)
for for(int var2 = 0; var2 < 512; var2++)
static List<String> getEntryNamesList<String> getEntryNames(PacketStatsRecorder var0)
if if(var9 == null)
if if(var10 == null)
if if(var4 != null)
abstract super super("packetstats", "server.commands.packetStats.desc")

Исходный код

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

class="kw">import com.hypixel.hytale.common.util.FormatUtil;
class="kw">import com.hypixel.hytale.common.util.StringUtil;
class="kw">import com.hypixel.hytale.component.Ref;
class="kw">import com.hypixel.hytale.component.Store;
class="kw">import com.hypixel.hytale.protocol.io.PacketStatsRecorder;
class="kw">import com.hypixel.hytale.server.core.Message;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandContext;
class="kw">import com.hypixel.hytale.server.core.command.system.CommandUtil;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.system.RequiredArg;
class="kw">import com.hypixel.hytale.server.core.command.system.arguments.types.ArgTypes;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractTargetPlayerCommand;
class="kw">import com.hypixel.hytale.server.core.io.PacketHandler;
class="kw">import com.hypixel.hytale.server.core.universe.PlayerRef;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.EntityStore;
class="kw">import it.unimi.dsi.fastutil.objects.ObjectArrayList;
class="kw">import java.util.List;
class="kw">import javax.annotation.Nonnull;
class="kw">import javax.annotation.Nullable;

class="kw">public class PacketStatsCommand class="kw">extends AbstractTargetPlayerCommand {
   @Nonnull
   class="kw">private class="kw">final RequiredArg<String> packetArg = this.withRequiredArg("packet", "server.commands.packetStats.packet.desc", ArgTypes.STRING);

   class="kw">public PacketStatsCommand() {
      super("packetstats", "server.commands.packetStats.desc");
   }

   @Override
   class="kw">protected void execute(
      @Nonnull CommandContext var1,
      @Nullable Ref<EntityStore> var2,
      @Nonnull Ref<EntityStore> var3,
      @Nonnull PlayerRef var4,
      @Nonnull World var5,
      @Nonnull Store<EntityStore> var6
   ) {
      String var7 = this.packetArg.get(var1);
      PacketHandler var8 = var4.getPacketHandler();
      PacketStatsRecorder var9 = var8.getPacketStatsRecorder();
      if (var9 == null) {
         var1.sendMessage(Message.translation("server.commands.packetStats.notAvailable"));
      } else {
         PacketStatsRecorder.PacketStatsEntry var10 = findEntry(var9, var7);
         if (var10 == null) {
            var1.sendMessage(Message.translation("server.commands.packetStats.notFound").param("name", var7));
            var1.sendMessage(
               Message.translation("server.general.failed.didYouMean")
                  .param("choices", StringUtil.sortByFuzzyDistance(var7, getEntryNames(var9), CommandUtil.RECOMMEND_COUNT).toString())
            );
         } else {
            Message var11 = Message.translation("server.commands.packetStats.row")
               .param("count", var10.getSentCount())
               .param(
                  "size",
                  FormatUtil.bytesToString(var10.getSentCompressedTotal())
                     + " ("
                     + FormatUtil.bytesToString(var10.getSentUncompressedTotal())
                     + " uncompressed)"
               )
               .param("avg", FormatUtil.bytesToString((long)var10.getSentCompressedAvg()))
               .param("min", FormatUtil.bytesToString(var10.getSentCompressedMin()))
               .param("max", FormatUtil.bytesToString(var10.getSentCompressedMax()));
            PacketStatsRecorder.RecentStats var12 = var10.getSentRecently();
            int var13 = var12.count();
            Message var14 = Message.translation("server.commands.packetStats.row")
               .param("count", var13)
               .param("size", FormatUtil.bytesToString(var12.compressedTotal()) + " (" + FormatUtil.bytesToString(var12.uncompressedTotal()) + " uncompressed)")
               .param("avg", FormatUtil.bytesToString(var13 > 0 ? var12.compressedTotal() / var13 : 0L))
               .param("min", FormatUtil.bytesToString(var12.compressedMin()))
               .param("max", FormatUtil.bytesToString(var12.compressedMax()));
            Message var15 = Message.translation("server.commands.packetStats.row")
               .param("count", var10.getReceivedCount())
               .param(
                  "size",
                  FormatUtil.bytesToString(var10.getReceivedCompressedTotal())
                     + " ("
                     + FormatUtil.bytesToString(var10.getReceivedUncompressedTotal())
                     + " uncompressed)"
               )
               .param("avg", FormatUtil.bytesToString((long)var10.getReceivedCompressedAvg()))
               .param("min", FormatUtil.bytesToString(var10.getReceivedCompressedMin()))
               .param("max", FormatUtil.bytesToString(var10.getReceivedCompressedMax()));
            PacketStatsRecorder.RecentStats var16 = var10.getReceivedRecently();
            int var17 = var16.count();
            Message var18 = Message.translation("server.commands.packetStats.row")
               .param("count", var17)
               .param("size", FormatUtil.bytesToString(var16.compressedTotal()) + " (" + FormatUtil.bytesToString(var16.uncompressedTotal()) + " uncompressed)")
               .param("avg", FormatUtil.bytesToString(var17 > 0 ? var16.compressedTotal() / var17 : 0L))
               .param("min", FormatUtil.bytesToString(var16.compressedMin()))
               .param("max", FormatUtil.bytesToString(var16.compressedMax()));
            var1.sendMessage(
               Message.translation("server.commands.packetStats.stats")
                  .param("name", var10.getName())
                  .param("id", var10.getPacketId())
                  .param("sentTotal", var11)
                  .param("sentRecent", var14)
                  .param("receivedTotal", var15)
                  .param("receivedRecent", var18)
            );
         }
      }
   }

   @Nullable
   class="kw">private class="kw">static PacketStatsRecorder.PacketStatsEntry findEntry(PacketStatsRecorder var0, String var1) {
      for (int var2 = 0; var2 < 512; var2++) {
         PacketStatsRecorder.PacketStatsEntry var3 = var0.getEntry(var2);
         if (var3.hasData()) {
            String var4 = var3.getName();
            if (var4 != null && var1.equalsIgnoreCase(var4)) {
               class="kw">return var3;
            }
         }
      }

      class="kw">return null;
   }

   class="kw">private class="kw">static List<String> getEntryNames(PacketStatsRecorder var0) {
      ObjectArrayList var1 = new ObjectArrayList();

      for (int var2 = 0; var2 < 512; var2++) {
         PacketStatsRecorder.PacketStatsEntry var3 = var0.getEntry(var2);
         if (var3.hasData()) {
            String var4 = var3.getName();
            if (var4 != null) {
               var1.add(var4);
            }
         }
      }

      class="kw">return var1;
   }
}