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;
}
// response to the user that this message cmdID is already in the queue
if (kraProtocolMessage.getStatus() == KraSocketClientProtocolStatus.GET.getStatus()
&& this.kraProtocol.getSendQueueMessages().containsKey(kraProtocolMessage.getCmdID())) {
// TODO: uuid
kraProtocolMessage = new KraSocketClientProtocolMessage(
KraSocketClientProtocolStatus.MESSAGE_ALREADY_IN_QUEUE.getStatus(),
kraProtocolMessage.getStatus() == KraSocketClientProtocolStatus.GET.getStatus()
? kraProtocolMessage.getStatus() : 0, 0,
UUID.fromString("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"),
(short) kraProtocolMessage.getCmdNumber(), "", null);
// ack
if (kraProtocolMessage.getStatus() == KraSocketClientProtocolStatus.GET.getStatus()) {
// response to the user that this message cmdID is already in the queue
if (this.kraProtocol.getReceivedQueueMessages().containsKey(kraProtocolMessage.getCmdID())) {
// TODO: Are the status and the cmdID not sufficient here?
kraProtocolMessage = new KraSocketClientProtocolMessage(
KraSocketClientProtocolStatus.MESSAGE_ALREADY_IN_QUEUE.getStatus(),
kraProtocolMessage.getCmdID(), 0,
UUID.fromString("bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb"),
(short) kraProtocolMessage.getCmdNumber(), "", null);
KraSocketClient.getLogger()
.info("response MESSAGE_ALREADY_IN_QUEUE " + kraProtocolMessage.getCmdID());
this.SendMessage(kraProtocolMessage);
return;
KraSocketClient.getLogger()
.info("response MESSAGE_ALREADY_IN_QUEUE cmdID: " + kraProtocolMessage.getCmdID()
+ " cmdNumber: " + kraProtocolMessage.getCmdNumber());
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);