RuneHive-Game
Loading...
Searching...
No Matches
PhasedUpdateTask.java
Go to the documentation of this file.
1package com.runehive.game.engine.sync.task;
2
3import org.apache.logging.log4j.LogManager;
4import org.apache.logging.log4j.Logger;
5
6import java.util.concurrent.Phaser;
7
8public final class PhasedUpdateTask extends SynchronizationTask {
9
10 private static final Logger logger = LogManager.getLogger(PhasedUpdateTask.class);
11
13 private final Phaser phaser;
14
16 this.task = task;
17 this.phaser = phaser;
18 }
19
20 @Override
21 public void run() {
22 try {
23 task.run();
24 } catch (Exception ex) {
25 logger.fatal(String.format("Error in %s", task.getClass().getSimpleName()), ex);
26 }
27 phaser.arriveAndDeregister();
28 }
29
30}
PhasedUpdateTask(Phaser phaser, SynchronizationTask task)