Remove rocksdb

This commit is contained in:
TheMode 2021-06-20 20:43:57 +02:00
parent 3bdc842393
commit 08ce627db7
3 changed files with 0 additions and 104 deletions

View File

@ -127,9 +127,6 @@ dependencies {
// https://jitpack.io/#Articdive/Jnoise
api 'com.github.Articdive:Jnoise:2.1.0'
// https://mvnrepository.com/artifact/org.rocksdb/rocksdbjni
api 'org.rocksdb:rocksdbjni:6.16.4'
// Logging
api 'org.apache.logging.log4j:log4j-core:2.14.0'
// SLF4J is the base logger for most libraries, therefore we can hook it into log4j2.

View File

@ -1,95 +0,0 @@
package net.minestom.server.storage.systems;
import net.minestom.server.MinecraftServer;
import net.minestom.server.storage.StorageOptions;
import net.minestom.server.storage.StorageSystem;
import org.jetbrains.annotations.NotNull;
import org.rocksdb.*;
import java.nio.file.Files;
import java.nio.file.Paths;
/**
* A {@link StorageSystem} which is local using OS files system
* It does make use of the RocksDB library.
* <p>
* The location represents the path of the folder.
* <p>
* Warning: will create some log files in the location folder when opened, those are generated by RocksDB.
*/
public class FileStorageSystem implements StorageSystem {
private Options options;
static {
RocksDB.loadLibrary();
}
private RocksDB rocksDB;
@Override
public boolean exists(@NotNull String location) {
return Files.isDirectory(Paths.get(location));
}
@Override
public void open(@NotNull String location, @NotNull StorageOptions storageOptions) {
options = new Options().setCreateIfMissing(true);
if (storageOptions.hasCompression()) {
options.setCompressionType(CompressionType.ZSTD_COMPRESSION);
options.setCompressionOptions(new CompressionOptions().setLevel(4));
}
try {
this.rocksDB = RocksDB.open(options, location);
} catch (RocksDBException e) {
MinecraftServer.getExceptionManager().handleException(e);
}
}
@Override
public byte[] get(@NotNull String key) {
try {
return rocksDB.get(getKey(key));
} catch (RocksDBException e) {
MinecraftServer.getExceptionManager().handleException(e);
return null;
}
}
@Override
public void set(@NotNull String key, byte[] data) {
try {
this.rocksDB.put(getKey(key), data);
} catch (RocksDBException e) {
MinecraftServer.getExceptionManager().handleException(e);
}
}
@Override
public void delete(@NotNull String key) {
try {
this.rocksDB.delete(getKey(key));
} catch (RocksDBException e) {
MinecraftServer.getExceptionManager().handleException(e);
}
}
@Override
public void close() {
try {
if (options != null)
this.options.close();
this.rocksDB.closeE();
} catch (RocksDBException e) {
MinecraftServer.getExceptionManager().handleException(e);
}
}
private byte[] getKey(String key) {
return key.getBytes();
}
}

View File

@ -15,8 +15,6 @@ import net.minestom.server.extras.optifine.OptifineSupport;
import net.minestom.server.instance.block.BlockManager;
import net.minestom.server.instance.block.rule.vanilla.RedstonePlacementRule;
import net.minestom.server.ping.ResponseData;
import net.minestom.server.storage.StorageManager;
import net.minestom.server.storage.systems.FileStorageSystem;
import net.minestom.server.utils.identity.NamedAndIdentified;
import net.minestom.server.utils.time.TimeUnit;
import net.minestom.server.utils.time.UpdateOption;
@ -53,10 +51,6 @@ public class Main {
commandManager.setUnknownCommandCallback((sender, command) -> sender.sendMessage(Component.text("Unknown command", NamedTextColor.RED)));
StorageManager storageManager = MinecraftServer.getStorageManager();
storageManager.defineDefaultStorageSystem(FileStorageSystem::new);
MinecraftServer.getBenchmarkManager().enable(new UpdateOption(10 * 1000, TimeUnit.MILLISECOND));
MinecraftServer.getSchedulerManager().buildShutdownTask(() -> System.out.println("Good night")).schedule();