aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/dial.go
Commit message (Collapse)AuthorAgeFilesLines
* Revert "fdtrack: temporary hack for tracking file descriptor usage"Jeffrey Wilcke2015-08-201-2/+0
| | | | This reverts commit 5c949d3b3ba81ea0563575b19a7b148aeac4bf61.
* fdtrack: temporary hack for tracking file descriptor usageFelix Lange2015-08-041-0/+2
| | | | | Package fdtrack logs statistics about open file descriptors. This should help identify the source of #1549.
* 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: instrument P2P networking layerPéter Szilágyi2015-06-241-1/+3
|
* p2p: throttle all discovery lookupsFelix Lange2015-06-221-15/+15
| | | | | | | | | | | | | | Lookup calls would spin out of control when network connectivity was lost. The throttling that was in place only took effect when the table returned zero results, which doesn't happen very often. The new throttling should not have a negative impact when the host is online. Lookups against the network take some time and dials for all results must complete or hit the cache before a new one is started. This usually takes longer than four seconds, leaving online lookups unaffected. Fixes #1296
* p2p: new dialer, peer management without locksFelix Lange2015-05-251-0/+276
The most visible change is event-based dialing, which should be an improvement over the timer-based system that we have at the moment. The dialer gets a chance to compute new tasks whenever peers change or dials complete. This is better than checking peers on a timer because dials happen faster. The dialer can now make more precise decisions about whom to dial based on the peer set and we can test those decisions without actually opening any sockets. Peer management is easier to test because the tests can inject connections at checkpoints (after enc handshake, after protocol handshake). Most of the handshake stuff is now part of the RLPx code. It could be exported or move to its own package because it is no longer entangled with Server logic.