Consolidate related items
This commit is contained in:
		
							parent
							
								
									c8e9abff53
								
							
						
					
					
						commit
						2e3a6e2559
					
				
							
								
								
									
										73
									
								
								rpc/api.go
									
									
									
									
									
								
							
							
						
						
									
										73
									
								
								rpc/api.go
									
									
									
									
									
								
							| @ -25,8 +25,9 @@ import ( | ||||
| ) | ||||
| 
 | ||||
| var ( | ||||
| 	defaultGasPrice = big.NewInt(10000000000000) | ||||
| 	defaultGas      = big.NewInt(10000) | ||||
| 	defaultGasPrice  = big.NewInt(10000000000000) | ||||
| 	defaultGas       = big.NewInt(10000) | ||||
| 	filterTickerTime = 15 * time.Second | ||||
| ) | ||||
| 
 | ||||
| type EthereumApi struct { | ||||
| @ -62,6 +63,39 @@ func NewEthereumApi(eth *xeth.XEth) *EthereumApi { | ||||
| 	return api | ||||
| } | ||||
| 
 | ||||
| func (self *EthereumApi) start() { | ||||
| 	timer := time.NewTicker(filterTickerTime) | ||||
| done: | ||||
| 	for { | ||||
| 		select { | ||||
| 		case <-timer.C: | ||||
| 			self.logMut.Lock() | ||||
| 			self.messagesMut.Lock() | ||||
| 			for id, filter := range self.logs { | ||||
| 				if time.Since(filter.timeout) > 20*time.Second { | ||||
| 					self.filterManager.UninstallFilter(id) | ||||
| 					delete(self.logs, id) | ||||
| 				} | ||||
| 			} | ||||
| 
 | ||||
| 			for id, filter := range self.messages { | ||||
| 				if time.Since(filter.timeout) > 20*time.Second { | ||||
| 					self.xeth.Whisper().Unwatch(id) | ||||
| 					delete(self.messages, id) | ||||
| 				} | ||||
| 			} | ||||
| 			self.logMut.Unlock() | ||||
| 			self.messagesMut.Unlock() | ||||
| 		case <-self.quit: | ||||
| 			break done | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (self *EthereumApi) stop() { | ||||
| 	close(self.quit) | ||||
| } | ||||
| 
 | ||||
| func (self *EthereumApi) Register(args string, reply *interface{}) error { | ||||
| 	self.regmut.Lock() | ||||
| 	defer self.regmut.Unlock() | ||||
| @ -600,38 +634,3 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error | ||||
| 	rpclogger.DebugDetailf("Reply: %T %s", reply, reply) | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| var filterTickerTime = 15 * time.Second | ||||
| 
 | ||||
| func (self *EthereumApi) start() { | ||||
| 	timer := time.NewTicker(filterTickerTime) | ||||
| done: | ||||
| 	for { | ||||
| 		select { | ||||
| 		case <-timer.C: | ||||
| 			self.logMut.Lock() | ||||
| 			self.messagesMut.Lock() | ||||
| 			for id, filter := range self.logs { | ||||
| 				if time.Since(filter.timeout) > 20*time.Second { | ||||
| 					self.filterManager.UninstallFilter(id) | ||||
| 					delete(self.logs, id) | ||||
| 				} | ||||
| 			} | ||||
| 
 | ||||
| 			for id, filter := range self.messages { | ||||
| 				if time.Since(filter.timeout) > 20*time.Second { | ||||
| 					self.xeth.Whisper().Unwatch(id) | ||||
| 					delete(self.messages, id) | ||||
| 				} | ||||
| 			} | ||||
| 			self.logMut.Unlock() | ||||
| 			self.messagesMut.Unlock() | ||||
| 		case <-self.quit: | ||||
| 			break done | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func (self *EthereumApi) stop() { | ||||
| 	close(self.quit) | ||||
| } | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user