Fixed order of retrieving data from bytestream, improved naming, adding logging
This commit is contained in:
parent
e76bd6f5bb
commit
aa4abfcdee
|
|
@ -7,7 +7,9 @@ dependencies {
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
|
jar {
|
||||||
|
enabled = true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
publishing {
|
publishing {
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ plugins {
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
group = "com.alttd.datalock"
|
group = "com.alttd.datalock"
|
||||||
version = "1.0.0-SNAPSHOT"
|
version = "1.1.0-SNAPSHOT"
|
||||||
description = "Altitude DataLock Library."
|
description = "Altitude DataLock Library."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -23,7 +23,7 @@ subprojects {
|
||||||
|
|
||||||
tasks {
|
tasks {
|
||||||
jar {
|
jar {
|
||||||
enabled = false
|
enabled = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ dependencies {
|
||||||
tasks {
|
tasks {
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
enabled = false
|
enabled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
shadowJar {
|
shadowJar {
|
||||||
|
|
|
||||||
|
|
@ -5,8 +5,8 @@ import com.google.common.io.ByteStreams;
|
||||||
import org.bukkit.scheduler.BukkitRunnable;
|
import org.bukkit.scheduler.BukkitRunnable;
|
||||||
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
public class DataLock implements DataLockAPI {
|
public class DataLock implements DataLockAPI {
|
||||||
|
|
||||||
|
|
@ -35,7 +35,9 @@ public class DataLock implements DataLockAPI {
|
||||||
ByteArrayDataOutput out = ByteStreams.newDataOutput();
|
ByteArrayDataOutput out = ByteStreams.newDataOutput();
|
||||||
out.writeUTF(requestType.subChannel);
|
out.writeUTF(requestType.subChannel);
|
||||||
out.writeUTF(idempotencyData.data());
|
out.writeUTF(idempotencyData.data());
|
||||||
|
out.writeUTF(idempotencyData.idempotencyToken().toString());
|
||||||
plugin.getServer().sendPluginMessage(plugin, idempotencyData.channel(), out.toByteArray());
|
plugin.getServer().sendPluginMessage(plugin, idempotencyData.channel(), out.toByteArray());
|
||||||
|
DataLockLib.getInstance().getLogger().log(Level.INFO, "Send plugin message on [" + requestType.subChannel + "] about data: [" + idempotencyData.data() + "]");
|
||||||
}
|
}
|
||||||
|
|
||||||
private final HashSet<String> activeChannels = new HashSet<>();
|
private final HashSet<String> activeChannels = new HashSet<>();
|
||||||
|
|
@ -74,8 +76,8 @@ public class DataLock implements DataLockAPI {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
for (RequestType requestType : RequestType.values()) {
|
for (RequestType requestType : RequestType.values()) {
|
||||||
for (IdempotencyData next : activeRequests.getIdempotencyData(requestType)) {
|
for (IdempotencyData idempotencyData : activeRequests.getIdempotencyData(requestType)) {
|
||||||
sendPluginMessage(requestType, next);
|
sendPluginMessage(requestType, idempotencyData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
|
||||||
class PluginMessageListener implements org.bukkit.plugin.messaging.PluginMessageListener {
|
class PluginMessageListener implements org.bukkit.plugin.messaging.PluginMessageListener {
|
||||||
|
|
||||||
|
|
@ -23,14 +24,16 @@ class PluginMessageListener implements org.bukkit.plugin.messaging.PluginMessage
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ByteArrayDataInput in = ByteStreams.newDataInput(bytes);
|
ByteArrayDataInput in = ByteStreams.newDataInput(bytes);
|
||||||
String data = in.readUTF();
|
String subChannel = in.readUTF();
|
||||||
boolean result = in.readBoolean();
|
boolean result = in.readBoolean();
|
||||||
|
String data = in.readUTF();
|
||||||
UUID idempotency = UUID.fromString(in.readUTF());
|
UUID idempotency = UUID.fromString(in.readUTF());
|
||||||
IdempotencyData idempotencyData = new IdempotencyData(channel, data, idempotency);
|
IdempotencyData idempotencyData = new IdempotencyData(channel, data, idempotency);
|
||||||
|
DataLockLib.getInstance().getLogger().log(Level.INFO, "Received plugin message on [" + subChannel + "] about data: [" + data + "]");
|
||||||
new BukkitRunnable() {
|
new BukkitRunnable() {
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
switch (in.readUTF()) {
|
switch (subChannel) {
|
||||||
case "try-lock-result" -> {
|
case "try-lock-result" -> {
|
||||||
if (!alreadyReceived.putIdempotencyData(RequestType.TRY_LOCK, idempotencyData))
|
if (!alreadyReceived.putIdempotencyData(RequestType.TRY_LOCK, idempotencyData))
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user