Merge pull request #186 from cubedro/develop

Added clean blocks higher than best block
This commit is contained in:
Marian OANCΞA
2015-06-09 06:27:13 +03:00
5 changed files with 32 additions and 17 deletions
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long
+13
View File
@@ -28,6 +28,8 @@ Collection.prototype.update = function(id, stats, callback)
}
else
{
this._blockchain.clean(this.getBestBlockFromItems());
var block = this._blockchain.add(stats.block, id);
if (!block)
@@ -57,6 +59,8 @@ Collection.prototype.addBlock = function(id, stats, callback)
}
else
{
this._blockchain.clean(this.getBestBlockFromItems());
var block = this._blockchain.add(stats, id);
if (!block)
@@ -113,6 +117,8 @@ Collection.prototype.addHistory = function(id, blocks, callback)
{
blocks = blocks.reverse();
this._blockchain.clean(this.getBestBlockFromItems());
for (var i = 0; i <= blocks.length - 1; i++)
{
this._blockchain.add(blocks[i], id);
@@ -254,6 +260,13 @@ Collection.prototype.getHistory = function()
return this._blockchain;
}
Collection.prototype.getBestBlockFromItems = function()
{
return _.result(_.max(this._items, function(item) {
return item.stats.block.number;
}), 'stats.block.number', 0);
}
Collection.prototype.canNodeUpdate = function(id)
{
var node = this.getNode({id: id});
+16 -14
View File
@@ -126,20 +126,6 @@ History.prototype.add = function(block, id)
this._save(item);
changed = true;
}
else if(this._items.length > 0 && block.arrived - this.bestBlock().arrived > 10*60*1000)
{
this._items.splice(0,1);
item.propagTimes.push({
node: id,
received: now,
propagation: block.propagation
});
this._save(item);
changed = true;
}
}
@@ -165,6 +151,22 @@ History.prototype._save = function(block)
}
}
History.prototype.clean = function(max)
{
if(max > 0 && this._items.length > 0 && max < this.bestBlockNumber())
{
console.log("MAX:", max);
console.log("History items before:", this._items.length);
this._items = _(this._items).filter(function(item) {
return item.height <= max;
}).value();
console.log("History items after:", this._items.length);
}
}
History.prototype.search = function(number)
{
var index = _.findIndex( this._items, { height: number } );
+1 -1
View File
@@ -485,7 +485,7 @@ netStatsApp.controller('StatsCtrl', function($scope, $filter, $localStorage, soc
return parseInt(node.stats.block.number);
}).stats.block.number;
if( bestBlock > $scope.bestBlock )
if( bestBlock !== $scope.bestBlock )
{
$scope.bestBlock = bestBlock;
$scope.bestStats = _.max($scope.nodes, function (node) {