1. 15 6月, 2015 1 次提交
  2. 25 5月, 2015 2 次提交
    • F
      p2p: new dialer, peer management without locks · 1440f9a3
      Felix Lange 提交于
      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
    • F
      p2p: delete Server.Broadcast · dbdc5fd4
      Felix Lange 提交于
      dbdc5fd4
  3. 14 5月, 2015 2 次提交
  4. 10 4月, 2015 1 次提交
    • F
      p2p: fix Peer shutdown deadlocks · f1d710af
      Felix Lange 提交于
      There were multiple synchronization issues in the disconnect handling,
      all caused by the odd special-casing of Peer.readLoop errors. Remove the
      special handling of read errors and make readLoop part of the Peer
      WaitGroup.
      
      Thanks to @Gustav-Simonsson for pointing at arrows in a diagram
      and playing rubber-duck.
      f1d710af
  5. 19 3月, 2015 2 次提交
  6. 04 3月, 2015 2 次提交
  7. 19 2月, 2015 1 次提交
    • F
      p2p: disable encryption handshake · 73f94f37
      Felix Lange 提交于
      The diff is a bit bigger than expected because the protocol handshake
      logic has moved out of Peer. This is necessary because the protocol
      handshake will have custom framing in the final protocol.
      73f94f37
  8. 07 2月, 2015 1 次提交
  9. 06 2月, 2015 1 次提交
    • F
      p2p: integrate p2p/discover · 5bdc1159
      Felix Lange 提交于
      Overview of changes:
      
      - ClientIdentity has been removed, use discover.NodeID
      - Server now requires a private key to be set (instead of public key)
      - Server performs the encryption handshake before launching Peer
      - Dial logic takes peers from discover table
      - Encryption handshake code has been cleaned up a bit
      - baseProtocol is gone because we don't exchange peers anymore
      - Some parts of baseProtocol have moved into Peer instead
      5bdc1159
  10. 06 1月, 2015 2 次提交
    • F
      eth, p2p: remove EncodeMsg from p2p.MsgWriter · eb0e7b1b
      Felix Lange 提交于
      ...and make it a top-level function instead.
      
      The original idea behind having EncodeMsg in the interface was that
      implementations might be able to encode RLP data to their underlying
      writer directly instead of buffering the encoded data. The encoder
      will buffer anyway, so that doesn't matter anymore.
      
      Given the recent problems with EncodeMsg (copy-pasted implementation
      bug) I'd rather implement once, correctly.
      eb0e7b1b
    • O
      Merge · 6abf8ef7
      obscuren 提交于
      6abf8ef7
  11. 12 12月, 2014 1 次提交
  12. 27 11月, 2014 1 次提交
  13. 25 11月, 2014 3 次提交
  14. 22 11月, 2014 2 次提交
  15. 23 10月, 2014 1 次提交