Is your feature request related to a problem? Please describe.
- Current version of SyncPeerPool.Allocate allow allocating a peer for an allocation context, but the same peer can only be allocated once.
- This is slightly inefficient as the during the latency of the request, the peer is not serving the data.
Describe the solution you'd like
- Allow multiple allocation per peer per allocation context. Make the limit configurable, set default to 2.
Describe alternatives you've considered
- Increasing the peer count is inefficient.
Additional context
- base-mainnet struggle to sync due to low number of peer.