• Felix Lange's avatar
    p2p: new dialer, peer management without locks · 1440f9a3
    Felix Lange authored
    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.
    1440f9a3
Name
Last commit
Last update
Godeps Loading commit data...
_data Loading commit data...
accounts Loading commit data...
build Loading commit data...
cmd Loading commit data...
common Loading commit data...
compression/rle Loading commit data...
core Loading commit data...
crypto Loading commit data...
docker Loading commit data...
errs Loading commit data...
eth Loading commit data...
ethdb Loading commit data...
event Loading commit data...
generators Loading commit data...
jsre Loading commit data...
logger Loading commit data...
miner Loading commit data...
p2p Loading commit data...
params Loading commit data...
pow Loading commit data...
rlp Loading commit data...
rpc Loading commit data...
tests Loading commit data...
trie Loading commit data...
ui Loading commit data...
whisper Loading commit data...
xeth Loading commit data...
.gitignore Loading commit data...
.gitmodules Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
update-license.go Loading commit data...