Split Peerset into reputation store & ProtocolControllers#13611
Split Peerset into reputation store & ProtocolControllers#13611dmitry-markin merged 106 commits intomasterfrom
Peerset into reputation store & ProtocolControllers#13611Conversation
altonen
left a comment
There was a problem hiding this comment.
Did a first pass. There are some problems we need to address, especially regarding Peer. I hope we can get rid of it and just match on peer state and then perform the correct action.
Co-authored-by: Aaro Altonen <48052676+altonen@users.noreply.github.com>
…(_)` & `NotConnected`
altonen
left a comment
There was a problem hiding this comment.
I think this is going in the right direction. Some of code duplication should be removed if possible
Co-authored-by: Aaro Altonen <48052676+altonen@users.noreply.github.com>
|
@altonen I've reworked peer management using ideas from your prototype. Apart from a couple of places where I had to call |
altonen
left a comment
There was a problem hiding this comment.
I think this is looking good already. alloc_slots() can be improved but could you write some tests to confirm this implementation works as expected?
Sure, that was my plan. |
Co-authored-by: Aaro Altonen <48052676+altonen@users.noreply.github.com>
|
The PR is ready for review. Relaxing requirements on possible messages in |
|
We definitely need a burn-in for this PR. |
Versi burn-in would be nice |
altonen
left a comment
There was a problem hiding this comment.
LGTM but let's merge it only after the burn-in is done
Co-authored-by: Anton <anton.kalyaev@gmail.com>
)" This reverts commit b9c9522.

The connection logic (connect/drop/accept/reject) is extracted from
PeersetintoProtocolControllerandPeerStore. EachProtocolControllerinstance is responsible for a specific notifications protocol, and should allow customization of connection logic by protocols in the future.PeerStoreis responsible for connection candidates and peer reputations.Resolves #13531.