RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
PhasedUpdateTask.java
1package com.osroyale.game.engine.sync.task;
2
3import org.apache.logging.log4j.LogManager;
4import org.apache.logging.log4j.Logger;
5
6import java.util.concurrent.Phaser;
7
27
28public final class PhasedUpdateTask extends SynchronizationTask {
29
30 private static final Logger logger = LogManager.getLogger(PhasedUpdateTask.class);
31
32 private final SynchronizationTask task;
33 private final Phaser phaser;
34
35 public PhasedUpdateTask(Phaser phaser, SynchronizationTask task) {
36 this.task = task;
37 this.phaser = phaser;
38 }
39
40 @Override
41 public void run() {
42 try {
43 task.run();
44 } catch (Exception ex) {
45 logger.fatal(String.format("Error in %s", task.getClass().getSimpleName()), ex);
46 }
47 phaser.arriveAndDeregister();
48 }
49
50}