{"push_id":3059897116,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"620501dec43364016bd6a2552304f5d4f3fb34fc","before":"ea2c9b182be7e650b6ac55278e12e5f412f31887","commits":[{"sha":"620501dec43364016bd6a2552304f5d4f3fb34fc","author":{"name":"gy9vin","email":"ee5d6a0efdb1ad6d24190797e03b03b691f56826@gmail.com"},"message":"p2p/discover: move bond logic from table to transport (#17048)\n\n* p2p/discover: move bond logic from table to transport\n\nThis commit moves node endpoint verification (bonding) from the table to\nthe UDP transport implementation. Previously, adding a node to the table\nentailed pinging the node if needed. With this change, the ping-back\nlogic is embedded in the packet handler at a lower level.\n\nIt is easy to verify that the basic protocol is unchanged: we still\nrequire a valid pong reply from the node before findnode is accepted.\n\nThe node database tracked the time of last ping sent to the node and\ntime of last valid pong received from the node. Node endpoints are\nconsidered verified when a valid pong is received and the time of last\npong was called 'bond time'. The time of last ping sent was unused. In\nthis commit, the last ping database entry is repurposed to mean last\nping _received_. This entry is now used to track whether the node needs\nto be pinged back.\n\nThe other big change is how nodes are added to the table. We used to add\nnodes in Table.bond, which ran when a remote node pinged us or when we\nencountered the node in a neighbors reply. The transport now adds to the\ntable directly after the endpoint is verified through ping. To ensure\nthat the Table can't be filled just by pinging the node repeatedly, we\nretain the isInitDone check. During init, only nodes from neighbors\nreplies are added.\n\n* p2p/discover: reduce findnode failure counter on success\n\n* p2p/discover: remove unused parameter of loadSeedNodes\n\n* p2p/discover: improve ping-back check and comments\n\n* p2p/discover: add neighbors reply nodes always, not just during init","distinct":true,"url":"https://api.github.com/repos/genom-project/genom/commits/620501dec43364016bd6a2552304f5d4f3fb34fc"}]}
{"actor":{"display_login":"Gy9vin"}}