Thomas Eizinger
Thomas Eizinger
> On the meta level, I think we could do better modelling protocol names. > > Part of the problem is the conflict between multistream select and libp2p-identify on the...
> > Nice idea but it won't allow us to enforce invariants, right? > > True. Would be great to enforce these at runtime. Would be wonderful to enforce these...
> > To progress on this issue, would it be okay to transition all/most usages to std types like `&static [u8]` and `String`? > > Given that `Either` also implements...
> I would actually suggest making `String` the default protocol representation. See #2831. What do you think @thomaseizinger? Yeah we can move to string! Should we do that as part...
> I think the following order makes most sense: > > 1. [misc/multistream-select: Treat protocol as `String` and not `[u8]` #2831](https://github.com/libp2p/rust-libp2p/issues/2831) > > 2. Move `ProtocolName` to `String` > >...
Closing in favor of #2966.
My 2c are: We definitely want a custom `ConnectionHandler`. Those run on a separate task which means we don't as easily block the main event loop of network behaviours.
@melekes Let me know if you are going to pick this up, otherwise I'll take it :)
Setting this to draft until we can proceed.
> Actually, the `direct_connections` hashmap cannot be reached from outside the Behaviour struct No need to access it from the outside. The behaviour gets notified about new incoming connections!