Фикс двойных уведомлений при подключении нового устройства

This commit is contained in:
2026-02-21 15:19:50 +02:00
parent 38c8e07ef7
commit ae435c8486
3 changed files with 37 additions and 9 deletions

View File

@@ -117,6 +117,17 @@ public class BufferService extends Service<BufferRepository> {
*/
public void deletePacketsFromBuffer(String to, Packet packet, long fromTimestampMs) {
int packetId = this.packetManager.getPacketIdByClass(packet.getClass());
this.deletePacketsFromBuffer(to, packetId, fromTimestampMs);
}
/**
* Удаляет из буфера все пакеты для определенного клиента с публичным ключом to, которые были добавлены
* в буфер после fromTimestampMs и имееют такой же ID пакета как и переданный
* @param to публичный ключ получателя пакета
* @param packetId ID пакета, который нужно удалить
* @param fromTimestampMs метка времени в миллисекундах, после которой были добавлены пакеты, которые нужно удалить
*/
public void deletePacketsFromBuffer(String to, int packetId, long fromTimestampMs){
String hql = "DELETE FROM Buffer WHERE to = :to AND packetId = :packetId AND timestamp > :timestamp";
HashMap<String, Object> parameters = new HashMap<>();
parameters.put("to", to);