WorldRocksDbCommand class
Пакет: com.hypixel.hytale.server.core.universe.world.commands.world
Файл: com/hypixel/hytale/server/core/universe/world/commands/world/WorldRocksDbCommand.java
extends: AbstractCommandCollection
Поля (1)
| Модификаторы | Тип | Имя |
|---|---|---|
|
MemorySegment |
var2 |
Методы (4)
| Модификаторы | Возврат | Сигнатура |
|---|---|---|
|
public |
CompactCommandpublic CompactCommand() |
|
protected CompletableFuture<Void> |
executeAsyncprotected CompletableFuture<Void> executeAsync(@NonNullDecl CommandContext var1, @NonNullDecl World var2) |
abstract |
|
super super("rocksdb", "server.commands.world.rocksdb") |
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);
}
}
}
}