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 earth.krakatao.events.KraSocketClientEventInterface;
|
||||
import earth.krakatao.protocol.KraSocketClientProtocolMessage;
|
||||
import earth.krakatao.protocol.KraSocketClientProtocolStatus;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
@ -37,13 +38,23 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
|
|||
System.out.println(
|
||||
"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()
|
||||
.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()) {
|
||||
case 15: // @Deprecated: test - mobile or voice socket connected
|
||||
ProxyServer.getInstance().getScheduler().runAsync(ProxySystem.getInstance(), () -> {
|
||||
|
@ -147,14 +158,6 @@ public class SocketClientMessageListener implements KraSocketClientEventInterfac
|
|||
|
||||
break;
|
||||
}
|
||||
|
||||
ProxySystem.getInstance().getKraSocketClientProtocol().getConsumerHashMap()
|
||||
.forEach((cmdID, consumer) -> {
|
||||
if (cmdID == kraProtocolMessage.getCmdID()) {
|
||||
System.out.println("accept " + cmdID + " " + kraProtocolMessage.getCmdID());
|
||||
consumer.accept(kraProtocolMessage);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
Loading…
Reference in New Issue