consumer handling on message receiving
parent
a56977bcac
commit
d3040f455e
|
@ -10,6 +10,7 @@ import de.dytanic.cloudnet.ext.bridge.player.IPlayerManager;
|
||||||
import de.dytanic.cloudnet.ext.bridge.player.ServicePlayer;
|
import de.dytanic.cloudnet.ext.bridge.player.ServicePlayer;
|
||||||
import earth.krakatao.events.KraSocketClientEventInterface;
|
import earth.krakatao.events.KraSocketClientEventInterface;
|
||||||
import earth.krakatao.protocol.KraSocketClientProtocolMessage;
|
import earth.krakatao.protocol.KraSocketClientProtocolMessage;
|
||||||
|
import earth.krakatao.protocol.KraSocketClientProtocolStatus;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
|
@ -37,13 +38,23 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
|
||||||
System.out.println(
|
System.out.println(
|
||||||
"kraProtocolMessage " + kraProtocolMessage.getCmdID() + " " + kraProtocolMessage.getArgs());
|
"kraProtocolMessage " + kraProtocolMessage.getCmdID() + " " + kraProtocolMessage.getArgs());
|
||||||
|
|
||||||
// remove cmdID from cmdID list
|
|
||||||
ProxySystem.getInstance().getKraSocketClientProtocol().getCmdIDs()
|
|
||||||
.removeIf(cmdID -> cmdID == kraProtocolMessage.getCmdID());
|
|
||||||
|
|
||||||
System.out.println("consumer ids " + ProxySystem.getInstance().getKraSocketClientProtocol()
|
System.out.println("consumer ids " + ProxySystem.getInstance().getKraSocketClientProtocol()
|
||||||
.getConsumerHashMap().keySet());
|
.getConsumerHashMap().keySet());
|
||||||
|
|
||||||
|
if (kraProtocolMessage.getStatus() == KraSocketClientProtocolStatus.REPLY.getStatus()) {
|
||||||
|
ProxySystem.getInstance().getKraSocketClientProtocol().getConsumerHashMap()
|
||||||
|
.forEach((cmdID, consumer) -> {
|
||||||
|
if (cmdID == kraProtocolMessage.getCmdID()) {
|
||||||
|
ProxySystem.getInstance().getLogger()
|
||||||
|
.info("accept " + cmdID + " " + kraProtocolMessage.getCmdID());
|
||||||
|
consumer.accept(kraProtocolMessage);
|
||||||
|
|
||||||
|
ProxySystem.getInstance().getKraSocketClientProtocol().getConsumerHashMap()
|
||||||
|
.remove(cmdID);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
switch (kraProtocolMessage.getCmdNumber()) {
|
switch (kraProtocolMessage.getCmdNumber()) {
|
||||||
case 15: // @Deprecated: test - mobile or voice socket connected
|
case 15: // @Deprecated: test - mobile or voice socket connected
|
||||||
ProxyServer.getInstance().getScheduler().runAsync(ProxySystem.getInstance(), () -> {
|
ProxyServer.getInstance().getScheduler().runAsync(ProxySystem.getInstance(), () -> {
|
||||||
|
@ -147,14 +158,6 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ProxySystem.getInstance().getKraSocketClientProtocol().getConsumerHashMap()
|
|
||||||
.forEach((cmdID, consumer) -> {
|
|
||||||
if (cmdID == kraProtocolMessage.getCmdID()) {
|
|
||||||
System.out.println("accept " + cmdID + " " + kraProtocolMessage.getCmdID());
|
|
||||||
consumer.accept(kraProtocolMessage);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue