How to create and link custom connection manager?


I am looking into scenario where more constraints are required to be in place for an unstructured network. e.g.

  1. Configurable and different limitations for inbound and outbound connections.
  2. Some peer clustering based on IP classification.

And there are few granular control required as well.

Is a custom ConnectionManager would be the right thing to do?
Or having a custom transport to have that logic in createListener and dial would be good?

I learned that its possible in go implementation to create and pass a custom connection manager with the LibP2P but could not find a way to do in JS implementation. Can someone recommend a way to do in JS implementation.

Looking forward to get your feedback.