aboutsummaryrefslogtreecommitdiffstats
path: root/eth/peer.go
Commit message (Collapse)AuthorAgeFilesLines
* core, eth, miner: improve shutdown synchronisationFelix Lange2016-05-091-2/+19
| | | | | | | | | | | | | | | | | | | | Shutting down geth prints hundreds of annoying error messages in some cases. The errors appear because the Stop method of eth.ProtocolManager, miner.Miner and core.TxPool is asynchronous. Left over peer sessions generate events which are processed after Stop even though the database has already been closed. The fix is to make Stop synchronous using sync.WaitGroup. For eth.ProtocolManager, in order to make use of WaitGroup safe, we need a way to stop new peer sessions from being added while waiting on the WaitGroup. The eth protocol Run function now selects on a signaling channel and adds to the WaitGroup only if ProtocolManager is not shutting down. For miner.worker and core.TxPool the number of goroutines is static, WaitGroup can be used in the usual way without additional synchronisation.
* eth, p2p, rpc/api: polish protocol info gatheringPéter Szilágyi2015-10-281-16/+31
|
* eth: time out status message exchange after 5sFelix Lange2015-10-231-9/+27
|
* core, eth, trie: direct state trie synchronizationPéter Szilágyi2015-10-191-1/+1
|
* eth/downloader: add fast and light sync strategiesPéter Szilágyi2015-10-191-3/+3
|
* core: split out TD from database and all internalsPéter Szilágyi2015-09-111-2/+3
|
* core, eth: split the db blocks into headers and bodiesPéter Szilágyi2015-09-111-0/+6
|
* eth: port the synchronisation algo to eth/62Péter Szilágyi2015-08-251-12/+47
|
* eth, eth/downloader: handle header requests, table driven proto testsPéter Szilágyi2015-08-241-0/+17
|
* eth, metrics, p2p: prepare metrics and net packets to eth/62Péter Szilágyi2015-08-211-20/+30
|
* all: fix license headers one more timeFelix Lange2015-07-241-1/+1
| | | | I forgot to update one instance of "go-ethereum" in commit 3f047be5a.
* all: update license headers to distiguish GPL/LGPLFelix Lange2015-07-231-4/+4
| | | | | All code outside of cmd/ is licensed as LGPL. The headers now reflect this by calling the whole work "the go-ethereum library".
* eth: calculate the correct TD, only update if betterPéter Szilágyi2015-07-091-2/+2
|
* all: update license informationFelix Lange2015-07-071-0/+16
|
* eth: fix #1371, double lock during block/txn known set limitationPéter Szilágyi2015-07-011-10/+4
|
* eth, eth/downloader: transition to eth 61Péter Szilágyi2015-07-011-3/+3
|
* eth: add the blocks from numbers protocol messagePéter Szilágyi2015-07-011-17/+11
|
* eth: fix #1319, put an upper limit on the known txns and blocksPéter Szilágyi2015-07-011-0/+19
|
* eth: clean up peer struct a bit, fix double txn bcastPéter Szilágyi2015-07-011-46/+49
|
* eth: start cleaning up old protocol implementation, add metricsPéter Szilágyi2015-07-011-22/+42
|
* eth: fix data race accessing peer.tdPéter Szilágyi2015-06-091-11/+30
|
* eth: fix data race accessing peer.recentHashPéter Szilágyi2015-06-091-6/+25
|
* Merge pull request #1188 from karalabe/newblockhashes-proposalJeffrey Wilcke2015-06-091-0/+7
|\ | | | | eth: implement the NewBlockHashes protocol proposal
| * eth: mark blocks as known when broadcasting hashes tooPéter Szilágyi2015-06-081-0/+3
| |
| * eth: implement the NewBlockHashes protocol proposalPéter Szilágyi2015-06-081-0/+4
| |
* | eth/downloader: cap the hash ban set, add test for itPéter Szilágyi2015-06-081-1/+1
|/
* Merge pull request #1064 from karalabe/downloader-attacksJeffrey Wilcke2015-05-221-2/+3
|\ | | | | Fix two additional download vulnerabilities
| * eth, eth/downloader: remove duplicate consts, bump hash fetch to 2KPéter Szilágyi2015-05-211-2/+3
| |
* | eth: fix odd method names in peer setPéter Szilágyi2015-05-201-5/+5
|/
* eth: remote a superfluous peerSet methodPéter Szilágyi2015-05-191-12/+0
|
* eth: make the peer set thread safePéter Szilágyi2015-05-191-10/+119
|
* eth, eth/downloader: moved peer selection to protocol handlerobscuren2015-04-241-6/+16
|
* eth: moved mined, tx events to protocol-hnd and improved tx propagationobscuren2015-04-231-0/+6
| | | | | | | | | 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.
* eth: drop blocks with low TDobscuren2015-04-191-2/+4
|
* eth: additional cleanups to the subprotocol, improved block propagationobscuren2015-04-181-0/+6
| | | | | | | | * Improved block propagation by sending blocks only to peers to which, as far as we know, the peer does not know about. * Made sub protocol its own manager * SubProtocol now contains the p2p.Protocol which is used instead of a function-returning-protocol thing.
* eth: began split up of peers and protocol managerobscuren2015-04-181-0/+137