node events notifications
This commit is contained in:
parent
71b1f7503a
commit
1959e77407
14
app.js
14
app.js
@ -34,13 +34,15 @@ api.on('connection', function(spark) {
|
|||||||
console.log(spark.address);
|
console.log(spark.address);
|
||||||
console.log(spark.query);
|
console.log(spark.query);
|
||||||
|
|
||||||
spark.on('hello', function(data) {
|
spark.on('hello', function(data)
|
||||||
|
{
|
||||||
console.log('got hello data from ', spark.id);
|
console.log('got hello data from ', spark.id);
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|
||||||
if(typeof data.id !== 'undefined' && typeof data.info !== 'undefined')
|
if(typeof data.id !== 'undefined' && typeof data.info !== 'undefined')
|
||||||
{
|
{
|
||||||
data.ip = spark.address.ip;
|
data.ip = spark.address.ip;
|
||||||
|
data.spark = spark.id;
|
||||||
|
|
||||||
var info = Nodes.add(data);
|
var info = Nodes.add(data);
|
||||||
spark.emit('ready');
|
spark.emit('ready');
|
||||||
@ -49,7 +51,8 @@ api.on('connection', function(spark) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
spark.on('update', function(data) {
|
spark.on('update', function(data)
|
||||||
|
{
|
||||||
console.log('got update from ' + spark.id);
|
console.log('got update from ' + spark.id);
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|
||||||
@ -61,8 +64,11 @@ api.on('connection', function(spark) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
spark.on('end', function(data) {
|
spark.on('end', function(data)
|
||||||
//
|
{
|
||||||
|
var stats = Nodes.inactive(spark.id);
|
||||||
|
|
||||||
|
client.write({action: 'inactive', data: stats});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -28,6 +28,18 @@ Collection.prototype.update = function(id, stats)
|
|||||||
return node.getStats();
|
return node.getStats();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Collection.prototype.inactive = function(id)
|
||||||
|
{
|
||||||
|
var node = this.getNode({ spark: id });
|
||||||
|
|
||||||
|
if(!node)
|
||||||
|
return false;
|
||||||
|
|
||||||
|
node.stats.active = false;
|
||||||
|
|
||||||
|
return node.getStats();
|
||||||
|
}
|
||||||
|
|
||||||
Collection.prototype.getIndex = function(search)
|
Collection.prototype.getIndex = function(search)
|
||||||
{
|
{
|
||||||
return _.findIndex(this._list, search);
|
return _.findIndex(this._list, search);
|
||||||
|
@ -36,6 +36,9 @@ var Node = function Node(data)
|
|||||||
this.setGeo(data.ip);
|
this.setGeo(data.ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(typeof data.spark !== 'undefined')
|
||||||
|
this.spark = data.spark;
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -53,6 +56,9 @@ Node.prototype.setInfo = function(data)
|
|||||||
this.info.ip = data.ip;
|
this.info.ip = data.ip;
|
||||||
this.setGeo(data.ip);
|
this.setGeo(data.ip);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(typeof data.spark !== 'undefined')
|
||||||
|
this.spark = data.spark;
|
||||||
}
|
}
|
||||||
|
|
||||||
Node.prototype.getInfo = function()
|
Node.prototype.getInfo = function()
|
||||||
|
@ -69,6 +69,11 @@ function StatsCtrl($scope, $filter, socket, _, toastr) {
|
|||||||
case "info":
|
case "info":
|
||||||
$scope.nodes[findIndex({id: data.id})].info = data.info;
|
$scope.nodes[findIndex({id: data.id})].info = data.info;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "inactive":
|
||||||
|
$scope.nodes[findIndex({id: data.id})].stats = data.stats;
|
||||||
|
toastr['error']("Node went away!", "Node connection was lost!");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
updateStats();
|
updateStats();
|
||||||
|
@ -32,7 +32,7 @@ app.factory('toastr', function ($rootScope) {
|
|||||||
toastr.options = {
|
toastr.options = {
|
||||||
"closeButton": false,
|
"closeButton": false,
|
||||||
"debug": false,
|
"debug": false,
|
||||||
"progressBar": true,
|
"progressBar": false,
|
||||||
"newestOnTop": true,
|
"newestOnTop": true,
|
||||||
"positionClass": "toast-top-right",
|
"positionClass": "toast-top-right",
|
||||||
"preventDuplicates": false,
|
"preventDuplicates": false,
|
||||||
|
@ -6,7 +6,7 @@ block content
|
|||||||
div.col-lg-6(ng-cloak)
|
div.col-lg-6(ng-cloak)
|
||||||
div.col-sm-12
|
div.col-sm-12
|
||||||
h1= title
|
h1= title
|
||||||
p Welcome to #{title}
|
//- p Welcome to #{title}
|
||||||
|
|
||||||
div.clearfix
|
div.clearfix
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ block content
|
|||||||
div.small {{node.info.ip}}
|
div.small {{node.info.ip}}
|
||||||
td.small
|
td.small
|
||||||
div.small(ng-bind-html="node.info.node | nodeVersion")
|
div.small(ng-bind-html="node.info.node | nodeVersion")
|
||||||
div.small {{node.info.os}}, {{node.info.os_v}}
|
//- div.small {{node.info.os}}, {{node.info.os_v}}
|
||||||
td(class="{{ node.stats.peers | peerClass }}") {{node.stats.peers}}
|
td(class="{{ node.stats.peers | peerClass }}") {{node.stats.peers}}
|
||||||
td(class="{{ node.stats.mining | miningClass }}")
|
td(class="{{ node.stats.mining | miningClass }}")
|
||||||
i(class="{{ node.stats.mining | miningIconClass }}")
|
i(class="{{ node.stats.mining | miningIconClass }}")
|
||||||
|
Loading…
Reference in New Issue
Block a user