diff options
| author | Alon Levy <alon@pobox.com> | 2014-12-23 16:47:32 +0200 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2014-12-23 16:47:32 +0200 |
| commit | 047ca46b3c2ac95bb34227106b40b8b1d1a0bee0 (patch) | |
| tree | 339e1c60e86973342b0622974020091f2fa450cc | |
| parent | 88b8e977eb9574a4cdfd4ff47210e89a349cb478 (diff) | |
client: don't send temp nodes/link topo_diffs to server
| -rw-r--r-- | src/client/model/graph.js | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/client/model/graph.js b/src/client/model/graph.js index 301e1b80..9d178636 100644 --- a/src/client/model/graph.js +++ b/src/client/model/graph.js @@ -36,7 +36,7 @@ function Graph() { node; notify = undefined === notify ? true : notify; - peer_notify = undefined === peer_notify ? true : peer_notify; + peer_notify = undefined === peer_notify ? spec.state != 'temp' : peer_notify; if (undefined == spec.id) { existing_node = findNodeByName(spec.name) @@ -65,7 +65,8 @@ function Graph() { util.assert(undefined != node.id, '__addNode: node id missing'); nodes.push(node); id_to_node_map[node.id] = node; - console.log('__addNode: node added: id: ' + node.id); + console.log('__addNode: node added: id: ' + node.id + ' state ' + node.state + + (rz_config.backend_enabled && peer_notify ? ' _commit_ ' : '')); if (rz_config.backend_enabled && peer_notify){ var topo_diff = model_diff.new_topo_diff({ @@ -94,10 +95,14 @@ function Graph() { peer_notify = undefined === peer_notify ? true : peer_notify; - var cascade_link_rm_set = []; // track cascading link removals + var cascade_link_rm_set = [], // track cascading link removals + has_non_temp = false; for (var j = 0; j < ns.length; j++) { var n = ns[j]; var i = 0; + if (n.state != 'temp') { + has_non_temp = true; + } while (i < links.length) { var link = links[i]; if ((link['__src'].equals(n)) || (link['__dst'].equals(n))) { // compare by id @@ -121,7 +126,7 @@ function Graph() { console.log('_remove_node_set: removed node: id: ' + n.id); }); - if (rz_config.backend_enabled && peer_notify){ + if (rz_config.backend_enabled && peer_notify && has_non_temp) { var topo_diff = 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; }), @@ -332,7 +337,7 @@ function Graph() { util.assert(link instanceof model_core.Link); - peer_notify = undefined === peer_notify ? true : peer_notify; + peer_notify = undefined === peer_notify ? link.state != 'temp' : peer_notify; if (link.name.length != trimmed_name.length) { console.log('bug: addLink with name containing spaces - removing before sending to server'); |
