Browse Source

publish deleted node update on disconnect

Abhishek Kondur 1 year ago
parent
commit
6c15fd60a0
1 changed files with 6 additions and 1 deletions
  1. 6 1
      mq/handlers.go

+ 6 - 1
mq/handlers.go

@@ -60,7 +60,12 @@ func UpdateNode(client mqtt.Client, msg mqtt.Message) {
 		return
 	}
 	if ifaceDelta { // reduce number of unneeded updates, by only sending on iface changes
-		if err = PublishPeerUpdate(); err != nil {
+		if !newNode.Connected {
+			err = PublishDeletedNodePeerUpdate(&newNode)
+		} else {
+			err = PublishPeerUpdate()
+		}
+		if err != nil {
 			slog.Warn("error updating peers when node informed the server of an interface change", "nodeid", currentNode.ID, "error", err)
 		}
 	}