aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/discover/database.go
Commit message (Collapse)AuthorAgeFilesLines
* p2p/discover: fix race involving the seed node iteratorFelix Lange2015-09-301-40/+56
| | | | | | | | | | | | | | | | | | | nodeDB.querySeeds was not safe for concurrent use but could be called concurrenty on multiple goroutines in the following case: - the table was empty - a timed refresh started - a lookup was started and initiated refresh These conditions are unlikely to coincide during normal use, but are much more likely to occur all at once when the user's machine just woke from sleep. The root cause of the issue is that querySeeds reused the same leveldb iterator until it was exhausted. This commit moves the refresh scheduling logic into its own goroutine (so only one refresh is ever active) and changes querySeeds to not use a persistent iterator. The seed node selection is now more random and ignores nodes that have not been contacted in the last 5 days.
* 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".
* all: update license informationFelix Lange2015-07-071-0/+16
|
* p2p/discover: add support for counting findnode failuresPéter Szilágyi2015-05-271-3/+14
|
* p2p/discover: fix #838, evacuate self entries from the node dbPéter Szilágyi2015-05-221-15/+32
|
* p2p/discover: limit open files for node databaseFelix Lange2015-05-141-2/+3
|
* p2p/discover: track sha3(ID) in NodeFelix Lange2015-04-301-0/+2
|
* p2p/discover: fix api issues caused by leveldb updatePéter Szilágyi2015-04-281-4/+6
|
* p2p/discover: fix goroutine leak due to blocking on sync.OncePéter Szilágyi2015-04-281-12/+23
|
* p2p/discover: add node expirer and related testsPéter Szilágyi2015-04-271-4/+67
|
* p2p/discover: parametrize nodedb version, add persistency testsPéter Szilágyi2015-04-271-5/+5
|
* p2p/discover: drop a superfluous warningPéter Szilágyi2015-04-271-1/+1
|
* p2p/discover: use iterator based seeding, drop old protocol testPéter Szilágyi2015-04-271-29/+23
|
* p2p/discover: write the basic tests, catch RLP bugPéter Szilágyi2015-04-271-7/+13
|
* p2p/discovery: fix issues raised in the nodeDb PRPéter Szilágyi2015-04-271-33/+30
|
* cmd/bootnode, eth, p2p, p2p/discover: use a fancier db designPéter Szilágyi2015-04-241-0/+233