[Update] Week #2 - peer pool, p2p

This is an about what I’ve been working on since the last update.

p2p simulations

Using our p2p simulator I’ve been trying to come up with different sets of parameters that would improve the situation with propagation of the dead peers. The results show that changing some parameters such as the number of gossiped peers and decreasing the max number of connection rejections would have positive impact.

Peer pool configuration parameters

Related PRs: PR #3074, PR #3076

Based on the p2p simulations, I’ve made some peer pool parameters configurable. Also, we decided to change probability of selecting a peer from a verified pool to 1.0 (100%) mainly because if a connection to a peer specified in the config is lost we want to reconnect to this peer as soon as possible.

Ping message check

Related PR: PR #3090

The max number of gossiped peers in ping message is 32, but this number hasn’t been enforced by the node.

Dead peers removal

Related PR: PR #3117

I’ve changed the way how a filtering function is called in order to filter dead peers in pool buckets - it called more often now resulting in more aggressive removal of outdated peers. This is still work in progress.