CompactCommand class

Пакет: com.hypixel.hytale.server.core.universe.world.commands.world

Файл: com/hypixel/hytale/server/core/universe/world/commands/world/WorldRocksDbCommand.java

extends: AbstractAsyncWorldCommand

Поля (1)

МодификаторыТипИмя
MemorySegment var2

Методы (2)

МодификаторыВозвратСигнатура
protected CompletableFuture<Void> executeAsyncprotected CompletableFuture<Void> executeAsync(@NonNullDecl CommandContext var1, @NonNullDecl World var2)
abstract super super("compact", "server.commands.world.rocksdb.compact")

Исходный код

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

class="kw">import com.hypixel.hytale.lib.rocksdb.RocksDbNative;
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.basecommands.AbstractAsyncWorldCommand;
class="kw">import com.hypixel.hytale.server.core.command.system.basecommands.AbstractCommandCollection;
class="kw">import com.hypixel.hytale.server.core.universe.world.World;
class="kw">import com.hypixel.hytale.server.core.universe.world.storage.provider.RocksDbChunkStorageProvider;
class="kw">import java.lang.foreign.MemorySegment;
class="kw">import java.util.concurrent.CompletableFuture;
class="kw">import org.checkerframework.checker.nullness.compatqual.NonNullDecl;

class="kw">public class WorldRocksDbCommand class="kw">extends AbstractCommandCollection {
   class="kw">public WorldRocksDbCommand() {
      super("rocksdb", "server.commands.world.rocksdb");
      this.addSubCommand(new WorldRocksDbCommand.CompactCommand());
   }

   class="kw">public class="kw">static class CompactCommand class="kw">extends AbstractAsyncWorldCommand {
      class="kw">public CompactCommand() {
         super("compact", "server.commands.world.rocksdb.compact");
      }

      @NonNullDecl
      @Override
      class="kw">protected CompletableFuture<Void> executeAsync(@NonNullDecl CommandContext var1, @NonNullDecl World var2) {
         if (var2.getChunkStore().getStorageData() class="kw">instanceof RocksDbChunkStorageProvider.RocksDbResource var4) {
            var1.sendMessage(Message.translation("server.commands.world.rocksdb.compact.start"));
            class="kw">return var4.runIo(() -> {
               MemorySegment var2 = var4.db;
               RocksDbNative.compactRangeCf(var2, var4.chunkColumn, MemorySegment.NULL, 0L, MemorySegment.NULL, 0L);
               RocksDbNative.compactRangeCf(var2, var4.sectionColumn, MemorySegment.NULL, 0L, MemorySegment.NULL, 0L);
               RocksDbNative.compactRangeCf(var2, var4.entitySectionColumn, MemorySegment.NULL, 0L, MemorySegment.NULL, 0L);
               RocksDbNative.compactRangeCf(var2, var4.entityColumn, MemorySegment.NULL, 0L, MemorySegment.NULL, 0L);
               var1.sendMessage(Message.translation("server.commands.world.rocksdb.compact.end"));
            });
         } else {
            var1.sendMessage(Message.translation("server.commands.world.rocksdb.compact.wrong"));
            class="kw">return CompletableFuture.completedFuture(null);
         }
      }
   }
}