|
11 | 11 | //! Record](https://eips.ethereum.org/EIPS/eip-778)), which is essentially a signed key-value store
|
12 | 12 | //! containing the node's public key and optionally IP address and port.
|
13 | 13 | //!
|
14 |
| -//! Discv5 employs a kademlia-like routing table to store and manage discovered peers and topics. The |
| 14 | +//! Discv5 employs a kademlia-like routing table to store and manage discovered peers (and topics tba). The |
15 | 15 | //! protocol allows for external IP discovery in NAT environments through regular PING/PONG's with
|
16 | 16 | //! discovered nodes. Nodes return the external IP address that they have received and a simple
|
17 | 17 | //! majority is chosen as our external IP address. If an external IP address is updated, this is
|
|
27 | 27 | //! * Handler - The protocol's communication is encrypted with `AES_GCM`. All node communication
|
28 | 28 | //! undergoes a handshake, which results in a [`Session`]. [`Session`]'s are established when
|
29 | 29 | //! needed and get dropped after a timeout. This section manages the creation and maintenance of
|
30 |
| -//! sessions between nodes and the encryption/decryption of packets from the socket. It is realised by the [`handler::Handler`] struct and it runs in its own task. |
| 30 | +//! sessions between nodes and the encryption/decryption of packets from the socket. It is |
| 31 | +//! realised by the [`handler::Handler`] struct and it runs in its own task. |
31 | 32 | //! * Service - This section contains the protocol-level logic. In particular it manages the
|
32 |
| -//! routing table of known ENR's, topic registration/advertisement and performs various queries |
33 |
| -//! such as peer discovery. This section is realised by the [`Service`] struct. This also runs in |
34 |
| -//! it's own thread. |
| 33 | +//! routing table of known ENR's, (and topic registration/advertisement tba) and performs |
| 34 | +//! parallel queries for peer discovery. This section is realised by the [`Service`] struct. This |
| 35 | +//! also runs in it's own thread. |
35 | 36 | //! * Application - This section is the user-facing API which can start/stop the underlying
|
36 | 37 | //! tasks, initiate queries and obtain metrics about the underlying server.
|
37 | 38 | //!
|
|
0 commit comments