Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						59cd60b266 
					 
					
						
						
							
							eth, eth/downloader, jsre: surface state sync progress through the API  
						
						
						
						
					 
					
						2016-02-10 14:30:41 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f1ec226d80 
					 
					
						
						
							
							eth/downloader: raise pending state limit that prevented concurrency  
						
						
						
						
					 
					
						2016-02-08 14:57:02 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						9e011ff1cd 
					 
					
						
						
							
							core, eth/downloader: ensure state presence in ancestor lookup  
						
						
						
						
					 
					
						2016-01-04 16:27:23 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						b6f5523bdc 
					 
					
						
						
							
							eth/downloader: fetch data proportionally to peer capacity  
						
						
						
						
					 
					
						2015-11-19 17:01:39 +02:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						b7b62d4b3c 
					 
					
						
						
							
							eth/downloader: also drain stateCh, receiptCh in eth/61 mode  
						
						... 
						
						
						
						State and receipt deliveries from a previous eth/62+ sync can hang if
the downloader has moved on to syncing with eth/61. Fix this by also
draining the eth/63 channels while waiting for eth/61 data.
A nicer solution would be to take care of the channels in a central
place, but that would involve a major rewrite. 
						
						
					 
					
						2015-11-19 14:18:35 +01:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						900da3d800 
					 
					
						
						
							
							eth/downloader: don't hang for spurious deliveries  
						
						... 
						
						
						
						Unexpected deliveries could block indefinitely if they arrived at the
right time. The fix is to ensure that the cancellation channel is
always closed when the sync ends, unblocking any deliveries. Also remove
the atomic check for whether a sync is currently running because it
doesn't help and can be misleading.
Cancelling always seems to break the tests though. The downloader
spawned d.process whenever new data arrived, making it somewhat hard to
track when block processing was actually done. Fix this by running
d.process in a dedicated goroutine that is tied to the lifecycle of the
sync. d.process gets notified of new work by the queue instead of being
invoked all the time. This removes a ton of weird workaround code,
including a hairy use of atomic CAS. 
						
						
					 
					
						2015-11-19 14:18:34 +01:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						2019ed71b4 
					 
					
						
						
							
							eth: don't block sync goroutines that short circuit  
						
						
						
						
					 
					
						2015-10-28 16:41:01 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5b0ee8ec30 
					 
					
						
						
							
							core, eth, trie: fix data races and merge/review issues  
						
						
						
						
					 
					
						2015-10-21 16:49:55 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						a9d8dfc8e7 
					 
					
						
						
							
							core, eth: roll back uncertain headers in failed fast syncs  
						
						
						
						
					 
					
						2015-10-19 10:03:10 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						b97e34a8e4 
					 
					
						
						
							
							eth/downloader: concurrent receipt and state processing  
						
						
						
						
					 
					
						2015-10-19 10:03:10 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						ab27bee25a 
					 
					
						
						
							
							core, eth, trie: direct state trie synchronization  
						
						
						
						
					 
					
						2015-10-19 10:03:09 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						832b37c822 
					 
					
						
						
							
							core, eth: receipt chain reconstruction  
						
						
						
						
					 
					
						2015-10-19 10:03:09 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f186b39018 
					 
					
						
						
							
							eth/downloader: add fast and light sync strategies  
						
						
						
						
					 
					
						2015-10-19 10:03:09 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						47f62a67aa 
					 
					
						
						
							
							eth/downloader: match capabilities when querying idle peers  
						
						
						
						
					 
					
						2015-10-02 13:20:41 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f459a3f0ae 
					 
					
						
						
							
							eth/downloader: always send termination wakes, clean leftover  
						
						
						
						
					 
					
						2015-09-23 12:39:17 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						99b62f36b6 
					 
					
						
						
							
							eth/downloader: header-chain order and ancestry check  
						
						
						
						
					 
					
						2015-09-15 14:45:53 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						0a7d059b6a 
					 
					
						
						
							
							eth, rpc: standardize the chain sync progress counters  
						
						
						
						
					 
					
						2015-09-15 14:45:53 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						cdc2662c40 
					 
					
						
						
							
							core: split out TD from database and all internals  
						
						
						
						
					 
					
						2015-09-11 17:42:25 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						1f1d73ab74 
					 
					
						
						
							
							eth/downloader: fix race causing occasional test failure  
						
						
						
						
					 
					
						2015-09-01 16:11:14 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						17f65cd1e5 
					 
					
						
						
							
							eth: update metrics collection to handle eth/62 algos  
						
						
						
						
					 
					
						2015-08-25 17:48:47 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						47a7fe5d22 
					 
					
						
						
							
							eth: port the synchronisation algo to eth/62  
						
						
						
						
					 
					
						2015-08-25 17:48:47 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						ca88e18f59 
					 
					
						
						
							
							eth: kill off protocol eth/60 in preparation for eth/62  
						
						
						
						
					 
					
						2015-08-24 17:57:28 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						42f44dda54 
					 
					
						
						
							
							eth, eth/downloader: handle header requests, table driven proto tests  
						
						
						
						
					 
					
						2015-08-24 17:57:28 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						c51e153b5c 
					 
					
						
						
							
							eth, metrics, p2p: prepare metrics and net packets to eth/62  
						
						
						
						
					 
					
						2015-08-21 10:30:57 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						6adbaabc65 
					 
					
						
						
							
							eth, eth/downloader: don't report stall if fetcher filled the block  
						
						
						
						
					 
					
						2015-07-29 15:39:08 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						bfbcfbe4a9 
					 
					
						
						
							
							all: fix license headers one more time  
						
						... 
						
						
						
						I forgot to update one instance of "go-ethereum" in commit 3f047be5a 
						
						
					 
					
						2015-07-23 18:35:11 +02:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						3f047be5aa 
					 
					
						
						
							
							all: update license headers to distiguish GPL/LGPL  
						
						... 
						
						
						
						All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library". 
						
						
					 
					
						2015-07-22 18:51:45 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						492d5454b1 
					 
					
						
						
							
							eth/downloader: drop peer if advertised TD but won't delvier  
						
						
						
						
					 
					
						2015-07-09 14:40:18 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						ea54283b30 
					 
					
						
						
							
							all: update license information  
						
						
						
						
					 
					
						2015-07-07 14:12:44 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						d6f2c0a76f 
					 
					
						
						
							
							eth, eth/downloader:  fix   #1231 , DOS vulnerability in hash queueing  
						
						
						
						
					 
					
						2015-07-01 15:21:35 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						60454da650 
					 
					
						
						
							
							eth/downloader: reduce hash fetches in prep for eth/61  
						
						
						
						
					 
					
						2015-07-01 01:20:49 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f43c07cb3c 
					 
					
						
						
							
							eth, eth/downloader: transition to eth 61  
						
						
						
						
					 
					
						2015-06-30 19:05:06 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						af51dc4d63 
					 
					
						
						
							
							eth, eth/downloader: pass the eth protocol version through  
						
						
						
						
					 
					
						2015-06-30 19:00:01 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5ec6ecc511 
					 
					
						
						
							
							eth, eth/fetcher: move propagated block import into fetcher  
						
						
						
						
					 
					
						2015-06-18 15:56:08 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						7c2af1c117 
					 
					
						
						
							
							eth, eth/fetcher: separate notification sync mechanism  
						
						
						
						
					 
					
						2015-06-18 15:56:07 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						55dd8fd621 
					 
					
						
						
							
							eth/downloader: always reenter processing if not exiting  
						
						
						
						
					 
					
						2015-06-18 00:26:54 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						2f4cbe22f5 
					 
					
						
						
							
							eth, eth/downloader: fix processing interrupt caused by temp cancel  
						
						
						
						
					 
					
						2015-06-18 00:04:57 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						4a1e82cf3f 
					 
					
						
						
							
							eth/downloader:  fix   #1280 , overlapping (good/bad) delivery hang  
						
						
						
						
					 
					
						2015-06-17 12:03:16 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						cf7c44a7f6 
					 
					
						
						
							
							eth/downloader: detailed comment for the race corner case  
						
						
						
						
					 
					
						2015-06-15 15:18:04 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						9c03c374e3 
					 
					
						
						
							
							eth/downloader: fix import statistic reset, fetch hashes async  
						
						
						
						
					 
					
						2015-06-15 13:05:01 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						fc7abd9886 
					 
					
						
						
							
							eth, eth/downloader: move block processing into the downlaoder  
						
						
						
						
					 
					
						2015-06-15 09:22:37 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						80833f8137 
					 
					
						
						
							
							eth/downloader: instreument and test the sync peer drop  
						
						
						
						
					 
					
						2015-06-15 09:22:37 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						66d3dc8690 
					 
					
						
						
							
							eth, eth/downloader: move peer removal into downloader  
						
						
						
						
					 
					
						2015-06-15 09:22:36 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						3c1cccc801 
					 
					
						
						
							
							eth/downloader: fetch the block hashes on the fly, when needed  
						
						
						
						
					 
					
						2015-06-10 20:12:22 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						271fb20ecb 
					 
					
						
						
							
							cmd/geth, eth/downloader: rough guess at the import eta  
						
						
						
						
					 
					
						2015-06-10 18:01:05 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						b3d5ce7d48 
					 
					
						
						
							
							cmd/geth, eth/downloader: collect and report import progress too  
						
						
						
						
					 
					
						2015-06-10 01:20:35 +03:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						8dc3048f65 
					 
					
						
						
							
							eth/downloader: fix hash fetch timeout handling  
						
						... 
						
						
						
						Fixes  #1206  
					
						2015-06-09 17:07:10 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						c4f224932f 
					 
					
						
						
							
							eth/downloader: reject peer registration if head is banned  
						
						
						
						
					 
					
						2015-06-08 14:46:31 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						63c6cedb14 
					 
					
						
						
							
							eth/downloader: cap the hash ban set, add test for it  
						
						
						
						
					 
					
						2015-06-08 14:12:00 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						b40c796ff7 
					 
					
						
						
							
							eth/downloader: preallocate the block cache  
						
						
						
						
					 
					
						2015-06-08 13:23:58 +03:00