Add option parallel-registry-termination
This commit is contained in:
@@ -152,4 +152,9 @@ public class AkarinGlobalConfig {
|
|||||||
private static void legacyVersioningCompat() {
|
private static void legacyVersioningCompat() {
|
||||||
legacyVersioningCompat = getBoolean("bonus.legacy-versioning-compat", false);
|
legacyVersioningCompat = getBoolean("bonus.legacy-versioning-compat", false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int registryTerminationSeconds;
|
||||||
|
private static void registryTerminationSeconds() {
|
||||||
|
registryTerminationSeconds = getSeconds(getString("bootstrap.parallel-registry-termination", "9s"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import java.util.concurrent.ExecutorService;
|
|||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ThreadFactory;
|
import java.util.concurrent.ThreadFactory;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
@@ -12,6 +13,7 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||||||
|
|
||||||
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
import com.google.common.util.concurrent.ThreadFactoryBuilder;
|
||||||
|
|
||||||
|
import io.akarin.server.core.AkarinGlobalConfig;
|
||||||
import net.minecraft.server.BiomeBase;
|
import net.minecraft.server.BiomeBase;
|
||||||
import net.minecraft.server.Block;
|
import net.minecraft.server.Block;
|
||||||
import net.minecraft.server.BlockFire;
|
import net.minecraft.server.BlockFire;
|
||||||
@@ -42,7 +44,7 @@ public class ParallelRegistry {
|
|||||||
*/
|
*/
|
||||||
private static final ExecutorService STAGE_STANDALONE = Executors.newWorkStealingPool(3);
|
private static final ExecutorService STAGE_STANDALONE = Executors.newWorkStealingPool(3);
|
||||||
|
|
||||||
private static final int TERMINATION_IN_SEC = 30; // TODO configurable
|
private static final int TERMINATION_IN_SEC = AkarinGlobalConfig.registryTerminationSeconds;
|
||||||
|
|
||||||
// We should keep the original order in codes thought orderless in runtime
|
// We should keep the original order in codes thought orderless in runtime
|
||||||
@Redirect(method = "c()V", at = @At(
|
@Redirect(method = "c()V", at = @At(
|
||||||
|
|||||||
Reference in New Issue
Block a user