Files
tendermint/p2p
Erik GrinakerandGitHub a741314c97 p2p: improve peerStore prototype (#5954)
This improves the `peerStore` prototype by e.g.:

* Using a database with Protobuf for persistence, but also keeping full peer set in memory for performance.
* Simplifying the API, by taking/returning struct copies for safety, and removing errors for in-memory operations.
* Caching the ranked peer set, as a temporary solution until a better data structure is implemented.
* Adding `PeerManagerOptions.MaxPeers` and pruning the peer store (based on rank) when it's full.
* Rewriting `PeerAddress` to be independent of `url.URL`, normalizing it and tightening semantics.
2021-01-25 17:27:44 +00:00
..
2021-01-04 11:25:20 +01:00
2020-10-13 10:22:53 +02:00
2021-01-08 15:32:11 +00:00
2021-01-04 11:25:20 +01:00
2021-01-06 11:53:18 -05:00
2021-01-06 11:53:18 -05:00
2021-01-06 11:53:18 -05:00
2021-01-04 11:25:20 +01:00
2021-01-04 11:25:20 +01:00
2021-01-08 15:32:11 +00:00
2020-02-07 12:53:28 +01:00
2021-01-06 11:53:18 -05:00
2021-01-21 14:18:27 +00:00
2021-01-04 11:25:20 +01:00

p2p

The p2p package provides an abstraction around peer-to-peer communication.

Docs:

  • Connection for details on how connections and multiplexing work
  • Peer for details on peer ID, handshakes, and peer exchange
  • Node for details about different types of nodes and how they should work
  • Pex for details on peer discovery and exchange
  • Config for details on some config option