Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						057bc237ad 
					 
					
						
						
							
							eth, eth/fetcher: use an import queue to store out of order blocks  
						
						
						
						
					 
					
						2015-06-18 15:56:07 +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 
							
						 
					 
					
						
						
							
						
						fc7abd9886 
					 
					
						
						
							
							eth, eth/downloader: move block processing into the downlaoder  
						
						
						
						
					 
					
						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 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						6c73a59806 
					 
					
						
						
							
							eth: limit number of sent transactions based on message size  
						
						... 
						
						
						
						Nodes that are out of sync will queue many transactions, which causes
the initial transactions message to grow very large. Larger transactions
messages can make communication impossible if the message is too big to
send. Big transactions messages also exhaust egress bandwidth, which
degrades other peer connections.
The new approach to combat these issues is to send transactions in
smaller batches. This commit introduces a new goroutine that handles
delivery of all initial transaction transfers. Size-limited packs of
transactions are sent to one peer at a time, conserving precious egress
bandwidth. 
						
						
					 
					
						2015-06-09 17:07:10 +02:00 
						 
				 
			
				
					
						
							
							
								Felix Lange 
							
						 
					 
					
						
						
							
						
						41b2008a66 
					 
					
						
						
							
							eth: limit number of sent blocks based on message size  
						
						... 
						
						
						
						If blocks get larger, sending 256 at once can make messages large
enough to exceed the low-level write timeout. 
						
						
					 
					
						2015-06-09 17:06:31 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						f86707713c 
					 
					
						
						
							
							eth: fix data race accessing peer.td  
						
						
						
						
					 
					
						2015-06-09 14:56:27 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						44147d057d 
					 
					
						
						
							
							eth: fix data race accessing peer.recentHash  
						
						
						
						
					 
					
						2015-06-09 14:27:44 +03:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						05cae69d72 
					 
					
						
						
							
							Merge pull request  #1188  from karalabe/newblockhashes-proposal  
						
						... 
						
						
						
						eth: implement the NewBlockHashes protocol proposal 
						
						
					 
					
						2015-06-09 04:07:46 -07:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						8216bb901c 
					 
					
						
						
							
							eth: clean up pending announce download map, polish logs  
						
						
						
						
					 
					
						2015-06-09 00:37:10 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						9ed166c196 
					 
					
						
						
							
							eth: split and handle explicitly vs. download requested blocks  
						
						
						
						
					 
					
						2015-06-08 20:38:39 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						fdccce781e 
					 
					
						
						
							
							eth: fetch announced hashes from origin, periodically  
						
						
						
						
					 
					
						2015-06-08 19:24:56 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						6f415b96b3 
					 
					
						
						
							
							eth: implement the NewBlockHashes protocol proposal  
						
						
						
						
					 
					
						2015-06-08 18:44:02 +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 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						e5d7627427 
					 
					
						
						
							
							eth: 100% block propogation  
						
						
						
						
					 
					
						2015-05-28 17:01:44 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5235e01b8d 
					 
					
						
						
							
							eth: hard disconnect if a peer is flaky  
						
						
						
						
					 
					
						2015-05-27 18:58:51 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						eafdc1f8e3 
					 
					
						
						
							
							eth, eth/downloader: surface downloaded block origin, drop on error  
						
						
						
						
					 
					
						2015-05-26 14:00:21 +03:00 
						 
				 
			
				
					
						
							
							
								Jeffrey Wilcke 
							
						 
					 
					
						
						
							
						
						af28736bd0 
					 
					
						
						
							
							Merge pull request  #1064  from karalabe/downloader-attacks  
						
						... 
						
						
						
						Fix two additional download vulnerabilities 
						
						
					 
					
						2015-05-21 09:00:12 -07:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						06a041589f 
					 
					
						
						
							
							eth, eth/downloader: remove duplicate consts, bump hash fetch to 2K  
						
						
						
						
					 
					
						2015-05-21 18:16:04 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						3c8227b935 
					 
					
						
						
							
							eth: fix odd method names in peer set  
						
						
						
						
					 
					
						2015-05-20 10:34:45 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						5422fe5125 
					 
					
						
						
							
							eth: make the peer set thread safe  
						
						
						
						
					 
					
						2015-05-18 21:33:37 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						d2d5dbc6fb 
					 
					
						
						
							
							eth/downloader: fix active peer shadowing, polish func names  
						
						
						
						
					 
					
						2015-05-13 13:13:43 +03:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						8fe01b4bfa 
					 
					
						
						
							
							eth: 100% tx propagation  
						
						
						
						
					 
					
						2015-05-12 19:01:01 +02:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						bd5720f480 
					 
					
						
						
							
							eth, eth/downloader: handle sync errors a bit more gracefully  
						
						
						
						
					 
					
						2015-05-08 15:22:48 +03:00 
						 
				 
			
				
					
						
							
							
								Péter Szilágyi 
							
						 
					 
					
						
						
							
						
						9d188f73b5 
					 
					
						
						
							
							eth, eth/downloader: make synchronize thread safe  
						
						
						
						
					 
					
						2015-05-07 21:07:20 +03:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						016f152b36 
					 
					
						
						
							
							eth, eth/downloader: Moved block processing & graceful shutdown  
						
						... 
						
						
						
						The downloader is no longer responsible for processing blocks. The
eth-protocol handler now takes care of this instead.
Added graceful shutdown during block processing. Closes  #846  
						
						
					 
					
						2015-05-01 15:58:44 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						8595198c1b 
					 
					
						
						
							
							eth/downloader: delete blocks from queue  
						
						
						
						
					 
					
						2015-04-30 17:51:47 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						28b39267d9 
					 
					
						
						
							
							core, eth: verify td of received blocks  
						
						
						
						
					 
					
						2015-04-30 13:50:59 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						9b6e8f6195 
					 
					
						
						
							
							eth, eth/downloader: remove bad peers from peer set  
						
						... 
						
						
						
						Peers in the eth protocol handler are now being ignored for catch up. 
						
						
					 
					
						2015-04-30 12:38:16 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						04c209980b 
					 
					
						
						
							
							eth: rely on p2p to determine block propagation  
						
						
						
						
					 
					
						2015-04-29 22:50:58 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						9e63798d03 
					 
					
						
						
							
							core/types, eth: meassure and display propagation times  
						
						
						
						
					 
					
						2015-04-29 19:55:30 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						735b029db9 
					 
					
						
						
							
							core: return the index of the block that failed when inserting a chain  
						
						
						
						
					 
					
						2015-04-29 14:00:24 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						4b7bdc3766 
					 
					
						
						
							
							eth: check if downloader is busy before showing log message  
						
						
						
						
					 
					
						2015-04-29 12:51:05 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						1681ee9883 
					 
					
						
						
							
							eth: added a few informative messages regarding downloading  
						
						
						
						
					 
					
						2015-04-24 17:03:09 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						d84c2202e7 
					 
					
						
						
							
							eth, eth/downloader: simplified synchronisation process  
						
						
						
						
					 
					
						2015-04-24 15:38:10 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						31f82eb334 
					 
					
						
						
							
							eth, eth/downloader: don't require td on downloader. Fixed tests  
						
						
						
						
					 
					
						2015-04-24 15:04:58 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						b86e7526e1 
					 
					
						
						
							
							eth, eth/downloader: moved peer selection to protocol handler  
						
						
						
						
					 
					
						2015-04-24 14:40:32 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						516f49c812 
					 
					
						
						
							
							eth: cleanup  
						
						
						
						
					 
					
						2015-04-23 23:30:25 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						d3be1a2719 
					 
					
						
						
							
							eth: moved mined, tx events to protocol-hnd and improved tx propagation  
						
						... 
						
						
						
						Transactions are now propagated to peers from which we have not yet
received the transaction. This will significantly reduce the chatter on
the network.
Moved new mined block handler to the protocol handler and moved
transaction handling to protocol handler. 
						
						
					 
					
						2015-04-23 11:50:12 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						45da3e17e2 
					 
					
						
						
							
							core: added chain head reset to known block  
						
						
						
						
					 
					
						2015-04-20 12:29:02 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						8f3a7e41de 
					 
					
						
						
							
							Merge branch 'rlp-size-validation' of  https://github.com/fjl/go-ethereum  into fjl-rlp-size-validation  
						
						... 
						
						
						
						Conflicts:
	eth/protocol.go 
						
						
					 
					
						2015-04-19 17:07:40 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						3d497be9bd 
					 
					
						
						
							
							eth: drop blocks with low TD  
						
						
						
						
					 
					
						2015-04-19 13:31:37 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						4340996572 
					 
					
						
						
							
							eth: temp 100% block propagation because of the current state of the net  
						
						
						
						
					 
					
						2015-04-19 01:40:01 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						434dea3caf 
					 
					
						
						
							
							eth: removed debug messages to stdout  
						
						
						
						
					 
					
						2015-04-19 00:03:26 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						50e096e627 
					 
					
						
						
							
							downloader: don't remove peers. keep them around  
						
						
						
						
					 
					
						2015-04-18 23:56:08 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						0d536734fe 
					 
					
						
						
							
							eth: adapted to new synchronous api of downloader's AddBlock  
						
						
						
						
					 
					
						2015-04-18 18:57:59 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						60613b57d1 
					 
					
						
						
							
							downloader: make sure that hashes are only accepted from the active peer  
						
						
						
						
					 
					
						2015-04-18 17:35:03 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						8244825bbf 
					 
					
						
						
							
							downloader: reset the queue if a peer response with an empty hash set  
						
						
						
						
					 
					
						2015-04-18 15:14:12 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						eef4776b5b 
					 
					
						
						
							
							eth: ignore NewBlockMsg with lower td  
						
						
						
						
					 
					
						2015-04-18 14:25:22 +02:00 
						 
				 
			
				
					
						
							
							
								obscuren 
							
						 
					 
					
						
						
							
						
						ecc74d76cc 
					 
					
						
						
							
							eth: drop blocks that are known  
						
						
						
						
					 
					
						2015-04-18 02:24:24 +02:00