Merge pull request #155 from cubedro/develop
Pending as a separate call
This commit is contained in:
		
						commit
						6a62a254f0
					
				
							
								
								
									
										81
									
								
								lib/node.js
									
									
									
									
									
								
							
							
						
						
									
										81
									
								
								lib/node.js
									
									
									
									
									
								
							| @ -489,6 +489,39 @@ Node.prototype.getStats = function(forced) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| Node.prototype.getPending = function() | ||||
| { | ||||
| 	var self = this; | ||||
| 	var now = _.now(); | ||||
| 
 | ||||
| 	if (this._socket) | ||||
| 		this._lastStats = JSON.stringify(this.stats); | ||||
| 
 | ||||
| 	if (this._web3) | ||||
| 	{ | ||||
| 		console.info('==>', 'Getting Pending') | ||||
| 
 | ||||
| 		web3.eth.getBlockTransactionCount('pending', function (err, pending) | ||||
| 		{ | ||||
| 			if (err) { | ||||
| 				console.error('xx>', 'getPending error: ', err); | ||||
| 				return false; | ||||
| 			} | ||||
| 
 | ||||
| 			var results = {}; | ||||
| 			results.end = _.now(); | ||||
| 			results.diff = results.end - now; | ||||
| 
 | ||||
| 			console.success('==>', 'Got getPending results in', chalk.reset.cyan(results.diff, 'ms')); | ||||
| 			console.log(pending); | ||||
| 
 | ||||
| 			self.stats.pending = pending; | ||||
| 
 | ||||
| 			self.sendPendingUpdate(); | ||||
| 		}); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| Node.prototype.getHistory = function (range) | ||||
| { | ||||
| 	var self = this; | ||||
| @ -549,6 +582,42 @@ Node.prototype.prepareStats = function () | ||||
| 	}; | ||||
| } | ||||
| 
 | ||||
| Node.prototype.prepareBlock = function () | ||||
| { | ||||
| 	return { | ||||
| 		id: this.id, | ||||
| 		block: this.stats.block | ||||
| 	}; | ||||
| } | ||||
| 
 | ||||
| Node.prototype.prepareBasic = function () | ||||
| { | ||||
| 	return { | ||||
| 		id: this.id, | ||||
| 		stats: { | ||||
| 			active: this.stats.active, | ||||
| 			listening: this.stats.listening, | ||||
| 			mining: this.stats.mining, | ||||
| 			hashrate: this.stats.hashrate, | ||||
| 			peers: this.stats.peers, | ||||
| 			pending: this.stats.pending, | ||||
| 			gasPrice: this.stats.gasPrice, | ||||
| 			miners: this.stats.miners, | ||||
| 			uptime: this.stats.uptime | ||||
| 		} | ||||
| 	}; | ||||
| } | ||||
| 
 | ||||
| Node.prototype.preparePending = function () | ||||
| { | ||||
| 	return { | ||||
| 		id: this.id, | ||||
| 		stats: { | ||||
| 			pending: this.stats.pending | ||||
| 		} | ||||
| 	}; | ||||
| } | ||||
| 
 | ||||
| Node.prototype.sendUpdate = function (force) | ||||
| { | ||||
| 	if( this.changed() || force ) { | ||||
| @ -557,6 +626,14 @@ Node.prototype.sendUpdate = function (force) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| Node.prototype.sendPendingUpdate = function() | ||||
| { | ||||
| 	if( this.changed() ) { | ||||
| 		console.info("wsc", "Sending pending update"); | ||||
| 		this.emit('pending', this.preparePending()); | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| Node.prototype.ping = function() | ||||
| { | ||||
| 	this._latency = _.now(); | ||||
| @ -617,12 +694,12 @@ Node.prototype.setWatches = function() | ||||
| 
 | ||||
| 			if(time > 50) | ||||
| 			{ | ||||
| 				self.getStats(true); | ||||
| 				self.getPending(true); | ||||
| 			} | ||||
| 			else | ||||
| 			{ | ||||
| 				debounce(function() { | ||||
| 					self.getStats(true); | ||||
| 					self.getPending(true); | ||||
| 				}, 50); | ||||
| 			} | ||||
| 		}); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user