From 03ed8939ed3362044dfadbfd357f151cf5c392fe Mon Sep 17 00:00:00 2001 From: Len <40720638+destro174@users.noreply.github.com> Date: Wed, 19 Oct 2022 17:55:51 +0200 Subject: [PATCH] Implement DataLockAPI.java in DataLock.java --- plugin/src/main/java/com/alttd/DataLock.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/com/alttd/DataLock.java b/plugin/src/main/java/com/alttd/DataLock.java index 37d5011..5b41b3a 100644 --- a/plugin/src/main/java/com/alttd/DataLock.java +++ b/plugin/src/main/java/com/alttd/DataLock.java @@ -7,7 +7,7 @@ import org.bukkit.scheduler.BukkitRunnable; import java.util.HashSet; import java.util.UUID; -public class DataLock { +public class DataLock implements DataLockAPI { private static DataLock instance = null; @@ -21,6 +21,7 @@ public class DataLock { private final DataLockLib plugin; private final Idempotency activeRequests; private DataLock() { + DataLockAPI.Provider.register(this); pluginMessageListener = new PluginMessageListener(); plugin = DataLockLib.getInstance(); activeRequests = new Idempotency(); @@ -41,22 +42,26 @@ public class DataLock { return activeRequests.removeIdempotencyData(requestType, idempotencyData); } + @Override public synchronized void registerChannel(String channel) { activeChannels.add(channel); plugin.getServer().getMessenger().registerOutgoingPluginChannel(plugin, channel); plugin.getServer().getMessenger().registerIncomingPluginChannel(plugin, channel, pluginMessageListener); } + @Override public synchronized boolean isActiveChannel(String channel) { return activeChannels.contains(channel); } + @Override public void tryLock(String channel, String data) { IdempotencyData idempotencyData = new IdempotencyData(channel, data, UUID.randomUUID()); activeRequests.putIdempotencyData(RequestType.TRY_LOCK, idempotencyData); sendPluginMessage(RequestType.TRY_LOCK, idempotencyData); } + @Override public void tryUnlock(String channel, String data) { IdempotencyData idempotencyData = new IdempotencyData(channel, data, UUID.randomUUID()); activeRequests.putIdempotencyData(RequestType.TRY_UNLOCK, idempotencyData);