2014-03-01 17:19:10 -08:00
|
|
|
var redis = require('redis');
|
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
module.exports = function(logger, poolConfigs){
|
2014-03-03 12:51:11 -08:00
|
|
|
|
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
//TODO: need to add redis config to json. probably do one redis client per pool?
|
2014-03-03 12:51:11 -08:00
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
var client;
|
2014-03-03 12:51:11 -08:00
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
client = redis.createClient();
|
2014-03-03 12:51:11 -08:00
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
client.on("error", function (err) {
|
|
|
|
logger.logError('shareProcessor', 'redis', 'Redis client had an error: ' + err);
|
|
|
|
});
|
2014-03-03 12:51:11 -08:00
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
this.handleDifficultyUpdate = function(data){
|
|
|
|
var coin = data.coin;
|
|
|
|
var poolConfig = poolConfigs[coin];
|
|
|
|
if (poolConfig.shareProcessing.mpos && poolConfig.shareProcessing.mpos.enabled){
|
|
|
|
poolMposHandlers[coin].updateDifficulty(data.workerName, data.diff);
|
|
|
|
}
|
|
|
|
};
|
2014-03-03 12:51:11 -08:00
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
this.handleShare = function(data){
|
2014-03-01 17:19:10 -08:00
|
|
|
var shareData = data.share;
|
|
|
|
var coin = data.coin;
|
2014-03-03 12:51:11 -08:00
|
|
|
var poolConfig = poolConfigs[coin];
|
|
|
|
|
|
|
|
if (poolConfig.shareProcessing.mpos && poolConfig.shareProcessing.mpos.enabled){
|
|
|
|
poolMposHandlers[coin].insertShare(data.isValidShare, data.isValidBlock, shareData);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (poolConfig.shareProcessing.internal && poolConfig.shareProcessing.internal.enable && data.isValidShare){
|
|
|
|
client.hincrby([coin + ':' + shareData.height, shareData.worker, shareData.difficulty], function(error, result){
|
|
|
|
if (error)
|
2014-03-04 00:33:55 -08:00
|
|
|
logger.logError('shareProcessor', 'redis', 'could not store worker share')
|
2014-03-03 12:51:11 -08:00
|
|
|
});
|
|
|
|
}
|
2014-03-04 00:33:55 -08:00
|
|
|
};
|
2014-03-01 17:19:10 -08:00
|
|
|
|
2014-03-04 00:33:55 -08:00
|
|
|
this.handleBlock = function(data){
|
|
|
|
//
|
|
|
|
};
|
|
|
|
};
|