fixes jshint warnings. add config for disabling sync

This commit is contained in:
Matias Alejo Garcia 2014-01-16 23:23:10 -03:00
parent a126bdd2f8
commit 59a34beda0
7 changed files with 66 additions and 57 deletions

View File

@ -1,25 +1,23 @@
'use strict';
var Transaction = require('../models/Transaction');
// server-side socket behaviour
var io = null;
// io is a variable already taken in express
var ios = null;
module.exports.init = function(app, io_ext) {
io = io_ext;
io.set('log level', 1); // reduce logging
io.sockets.on('connection', function(socket) {
ios = io_ext;
ios.set('log level', 1); // reduce logging
ios.sockets.on('connection', function() {
});
};
module.exports.broadcast_tx = function(tx) {
io.sockets.emit('tx', tx);
ios.sockets.emit('tx', tx);
};
module.exports.broadcast_block = function(block) {
io.sockets.emit('block', block);
ios.sockets.emit('block', block);
};

View File

@ -97,7 +97,7 @@ function spec() {
callback(null, bh.result);
});
}
],
],
function (err, result) {
that.lastblockhash = result;
return next();

View File

@ -14,4 +14,6 @@ module.exports = {
disableAgent: true,
},
network: 'testnet',
disableP2pSync: false,
disableHistoricSync: false,
}

View File

@ -4,19 +4,13 @@ require('classtool');
function spec() {
var mongoose = require('mongoose');
var util = require('util');
var RpcClient = require('bitcore/RpcClient').class();
var networks = require('bitcore/networks');
var async = require('async');
var config = require('../config/config');
var Block = require('../app/models/Block');
var Transaction = require('../app/models/Transaction');
var TransactionItem = require('../app/models/TransactionItem');
var Sync = require('./Sync').class();
var sockets = require('../app/controllers/socket.js');
var CONCURRENCY = 5;
function HistoricSync(opts) {
this.block_count= 0;
@ -26,10 +20,12 @@ function spec() {
}
function p() {
var params = Array.prototype.slice.call(arguments);
var args = [];
Array.prototype.push.apply( args, arguments );
params.unshift('[historic_sync]');
console.log.apply(this,params);
args.unshift('[historic_sync]');
/*jshint validthis:true */
console.log.apply(this, args);
}
var progress_bar = function(string, current, total) {
@ -59,11 +55,11 @@ function spec() {
var blockInfo;
var blockObj;
async.series([
async.series([
// Already got it?
function(c) {
Block.findOne({hash:blockHash}, function(err,block){
if (err) { p(err); return c(err); };
if (err) { p(err); return c(err); }
if (block) {
existed = 1;
blockObj = block;
@ -96,7 +92,7 @@ function spec() {
function(c) {
if (existed) return c();
that.sync.storeBlock(blockInfo.result, function(err, block) {
that.sync.storeBlock(blockInfo.result, function(err) {
existed = err && err.toString().match(/E11000/);
if (err && ! existed) return c(err);
return c();
@ -133,8 +129,9 @@ function spec() {
HistoricSync.prototype.syncBlocks = function(start, end, isForward, cb) {
var that = this;
p('Syncing Blocks, starting from: %s end: %s isForward:',
start, end, isForward);
p('Starting from: ', start);
p(' to : ', end);
p(' isForward: ', isForward);
return that.getPrevNextBlock( start, end,
@ -203,7 +200,7 @@ function spec() {
return cb();
});
},
],
],
function(err) {
function sync() {
@ -224,7 +221,7 @@ function spec() {
if (err && err.message.match(/ECONNREFUSED/) && retry_attemps--){
setTimeout(function() {
p("Retrying in %d secs ", retry_secs);
p('Retrying in %d secs', retry_secs);
sync();
}, retry_secs * 1000);
}
@ -232,9 +229,12 @@ function spec() {
return next(err, that.block_count);
});
}
sync();
if (!err)
sync();
else
return next(err, 0);
});
}
};
HistoricSync.prototype.import_history = function(opts, next) {
var that = this;

View File

@ -23,7 +23,7 @@ function spec() {
that.sync = new Sync({
networkName: network
});
that.sync.init(config, function() {
that.sync.init(config, function() {
that.PeerManager = require('bitcore/PeerManager').createClass({
config: {
network: network
@ -69,7 +69,6 @@ function spec() {
};
PeerSync.prototype.handle_block = function(info) {
var self = this;
var block = info.message.block;
var blockHash = coinUtil.formatHashFull(block.calcHash());
console.log('[p2p_sync] Handle block: ' + blockHash);

View File

@ -5,18 +5,19 @@ require('classtool');
function spec() {
var mongoose = require('mongoose');
var util = require('util');
var RpcClient = require('bitcore/RpcClient').class();
var async = require('async');
var config = require('../config/config');
var Block = require('../app/models/Block');
var Transaction = require('../app/models/Transaction');
<<<<<<< Updated upstream
var TransactionItem = require('../app/models/TransactionItem');
var sockets = require('../app/controllers/socket.js');
var CONCURRENCY = 5;
=======
var sockets = require('../app/views/sockets/main.js');
>>>>>>> Stashed changes
function Sync(config) {
function Sync() {
this.tx_count = 0;
}
@ -68,7 +69,7 @@ function spec() {
start, end, isForward);
return that.getPrevNextBlock( start, end,
return that.getPrevNextBlock( start, end,
isForward ? { next: 1 } : { prev: 1}, cb);
};
@ -84,7 +85,7 @@ function spec() {
this.db.on('error', function(err) {
console.log('connection error:' + err);
moogose.disconnect();
mongoose.disconnect();
});
this.db.on('disconnect', function(err) {
@ -99,7 +100,7 @@ function spec() {
Sync.prototype.close = function() {
if (!(this.opts && this.opts.skip_db_connection)) {
console.log("closing connection");
console.log('closing connection');
this.db.close();
}
};

View File

@ -4,6 +4,7 @@
//Set the node enviornment variable if not set before
process.env.NODE_ENV = process.env.NODE_ENV || 'development';
/**
* Module dependencies.
*/
@ -13,6 +14,7 @@ var express = require('express'),
HistoricSync = require('./lib/HistoricSync').class(),
mongoose = require('mongoose');
/**
* Main application entry file.
*/
@ -42,31 +44,38 @@ var walk = function(path) {
walk(models_path);
// historic_sync process
var hs = new HistoricSync();
hs.init({
skip_db_connection: true,
networkName: config.network
}, function() {
hs.import_history({
reverse: 1,
}, function(){
console.log('historic_sync finished!');
if (!config.disableHistoricSync) {
var hs = new HistoricSync();
hs.init({
skip_db_connection: true,
networkName: config.network
}, function() {
hs.import_history({
reverse: 1,
}, function(){
console.log('historic_sync finished!');
});
});
});
}
// p2p_sync process
var ps = new PeerSync();
ps.init({
skip_db_connection: true,
broadcast_txs: true,
broadcast_blocks: true
}, function() {
ps.run();
});
if (!config.disableP2pSync) {
var ps = new PeerSync();
ps.init({
skip_db_connection: true,
broadcast_txs: true,
broadcast_blocks: true
}, function() {
ps.run();
});
}
// express app
var app = express();
/*jshint validthis:true */
var app = express();
//express settings
require('./config/express')(app, db);
@ -76,7 +85,7 @@ require('./config/routes')(app);
// socket.io
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
var ios = require('socket.io').listen(server);
require('./app/controllers/socket.js').init(app,io);
//Start the app by listening on <port>