mirror of https://github.com/Minestom/Minestom.git
Remove RoaringBitmap
This commit is contained in:
parent
6dc56b1f81
commit
3f10829935
|
@ -130,9 +130,6 @@ dependencies {
|
|||
|
||||
implementation 'com.github.ben-manes.caffeine:caffeine:3.0.4'
|
||||
|
||||
// https://mvnrepository.com/artifact/org.roaringbitmap/RoaringBitmap
|
||||
implementation group: 'org.roaringbitmap', name: 'RoaringBitmap', version: '0.9.23'
|
||||
|
||||
// https://mvnrepository.com/artifact/org.jctools/jctools-core
|
||||
implementation group: 'org.jctools', name: 'jctools-core', version: '3.3.0'
|
||||
|
||||
|
|
|
@ -1,9 +1,10 @@
|
|||
package net.minestom.server.timer;
|
||||
|
||||
import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap;
|
||||
import it.unimi.dsi.fastutil.ints.IntOpenHashSet;
|
||||
import it.unimi.dsi.fastutil.ints.IntSet;
|
||||
import org.jctools.queues.MpscUnboundedArrayQueue;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.roaringbitmap.RoaringBitmap;
|
||||
|
||||
import java.time.Duration;
|
||||
import java.util.ArrayList;
|
||||
|
@ -25,8 +26,8 @@ final class SchedulerImpl implements Scheduler {
|
|||
private static final ForkJoinPool EXECUTOR = ForkJoinPool.commonPool();
|
||||
|
||||
private final MpscUnboundedArrayQueue<TaskImpl> taskQueue = new MpscUnboundedArrayQueue<>(64);
|
||||
private final RoaringBitmap registeredTasks = new RoaringBitmap();
|
||||
private final RoaringBitmap parkedTasks = new RoaringBitmap();
|
||||
private final IntSet registeredTasks = new IntOpenHashSet();
|
||||
private final IntSet parkedTasks = new IntOpenHashSet();
|
||||
|
||||
// Tasks scheduled on a certain tick
|
||||
private final Int2ObjectAVLTreeMap<List<TaskImpl>> tickTaskQueue = new Int2ObjectAVLTreeMap<>();
|
||||
|
@ -73,7 +74,7 @@ final class SchedulerImpl implements Scheduler {
|
|||
}
|
||||
|
||||
synchronized void unparkTask(TaskImpl task) {
|
||||
if (parkedTasks.checkedRemove(task.id()))
|
||||
if (parkedTasks.remove(task.id()))
|
||||
this.taskQueue.relaxedOffer(task);
|
||||
}
|
||||
|
||||
|
|
|
@ -84,10 +84,13 @@ public class TestScheduler {
|
|||
var task = scheduler.buildTask(() -> result.set(true))
|
||||
.delay(TaskSchedule.park())
|
||||
.schedule();
|
||||
assertTrue(task.isParked());
|
||||
assertFalse(result.get(), "Task hasn't been unparked yet");
|
||||
task.unpark();
|
||||
assertFalse(task.isParked());
|
||||
assertFalse(result.get(), "Tasks must be processed first");
|
||||
scheduler.process();
|
||||
assertFalse(task.isParked());
|
||||
assertTrue(result.get(), "Parked task should be executed");
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue