Implement DataLockAPI.java in DataLock.java
This commit is contained in:
parent
3c843d4004
commit
03ed8939ed
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user