summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2014-12-10 15:29:05 +0200
committerAlon Levy <alon@pobox.com>2014-12-16 10:59:14 +0200
commit2f302321018f8a4ea504e5cc4bdb7e06441b44bd (patch)
tree1113b050a1db98b8b28cac0968d4cff11bb07140 /src
parentf81c1c05d6b3dbb5229f3612d8e45de79963cc14 (diff)
_remove_node_set(): cascade_link_rm_set: collect removed links
Diffstat (limited to 'src')
-rw-r--r--src/model/graph.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/model/graph.js b/src/model/graph.js
index ac244339..5a67163f 100644
--- a/src/model/graph.js
+++ b/src/model/graph.js
@@ -94,12 +94,15 @@ function Graph() {
peer_notify = undefined === peer_notify ? true : peer_notify;
+ var cascade_link_rm_set = []; // track cascading link removals
for (var j = 0; j < ns.length; j++) {
var n = ns[j];
var i = 0;
while (i < links.length) {
- if ((links[i]['__src'] === n) || (links[i]['__dst'] == n)) {
+ var link = links[i];
+ if ((link['__src'].equals(n)) || (link['__dst'].equals(n))) { // compare by id
links.splice(i, 1);
+ cascade_link_rm_set.push(link);
}
else {
i++;
@@ -117,6 +120,7 @@ function Graph() {
if (rz_config.backend_enabled && peer_notify){
var topo_diff = new model_diff.new_topo_diff({
node_set_rm : ns.map(function(n){ return n.id; }),
+ link_set_rm : cascade_link_rm_set.map(function(l){ return l.id; }),
});
var on_success = function(){
// FIXME: handle possible outcomes: