Description
Right now we have a situational approach to selection of peers that is spread across ConnectionManager and PeerManager and particular protocol SDKs (#2243 and #2418)
Proposed Solution / Feature Design
We need to implement single way of retrieving a connected peer based on:
- matching shard
- matching protocols
One of the problematic points is to support multiple Decoders on Filter and Store.
To simplify design we should support only one Decoder as it simplifies approach to how Filter and Store protocols interactions happen.
Support for multiple Decoders must be done on a higher level.