ack handling

master
Alex 2022-03-15 14:12:00 +01:00
parent 894a3c7f16
commit 06fa3c2841
1 changed files with 19 additions and 14 deletions

View File

@ -86,21 +86,26 @@ public class SocketClient extends WebSocketClient {
return; return;
} }
// response to the user that this message cmdID is already in the queue // ack
if (kraProtocolMessage.getStatus() == KraSocketClientProtocolStatus.GET.getStatus() if (kraProtocolMessage.getStatus() == KraSocketClientProtocolStatus.GET.getStatus()) {
&& this.kraProtocol.getSendQueueMessages().containsKey(kraProtocolMessage.getCmdID())) { // response to the user that this message cmdID is already in the queue
// TODO: uuid if (this.kraProtocol.getReceivedQueueMessages().containsKey(kraProtocolMessage.getCmdID())) {
kraProtocolMessage = new KraSocketClientProtocolMessage( // TODO: Are the status and the cmdID not sufficient here?
KraSocketClientProtocolStatus.MESSAGE_ALREADY_IN_QUEUE.getStatus(), kraProtocolMessage = new KraSocketClientProtocolMessage(
kraProtocolMessage.getStatus() == KraSocketClientProtocolStatus.GET.getStatus() KraSocketClientProtocolStatus.MESSAGE_ALREADY_IN_QUEUE.getStatus(),
? kraProtocolMessage.getStatus() : 0, 0, kraProtocolMessage.getCmdID(), 0,
UUID.fromString("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"), UUID.fromString("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"),
(short) kraProtocolMessage.getCmdNumber(), "", null); (short) kraProtocolMessage.getCmdNumber(), "", null);
KraSocketClient.getLogger() KraSocketClient.getLogger()
.info("response MESSAGE_ALREADY_IN_QUEUE " + kraProtocolMessage.getCmdID()); .info("response MESSAGE_ALREADY_IN_QUEUE cmdID: " + kraProtocolMessage.getCmdID()
this.SendMessage(kraProtocolMessage); + " cmdNumber: " + kraProtocolMessage.getCmdNumber());
return; this.SendMessage(kraProtocolMessage);
return;
} else { // not in received queue -> add msg to received queue
this.kraProtocol.getReceivedQueueMessages()
.put(kraProtocolMessage.getCmdID(), kraProtocolMessage);
}
} }
this.kraSocketClientEventInitiater.callOnMessage(kraProtocolMessage); this.kraSocketClientEventInitiater.callOnMessage(kraProtocolMessage);