You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In the process of building the integration test for early muxer negotiation #1836, this enhancement came into being as suggested by @marten-seemann while we discussed the options of making the implementation of #1851 cleaner.
The existence of multistream.transport as a network.multiplexer type becomes an obvious obstacle of sharing muxer state info internally, especially in the concurrent context which may require locking to avoid data race.
This issue ticket proposes to get rid of the multistream.transport entity and merge its function into the upgrader. This solution may require fair amount of refactoring of the config and initialization code too, a lot of test code will also be affected, but in long term it should be worth the effort for simplified upgrade logic and cleaner code structure. There is no reason the multistream.transport should be a network.Transport type and be restricted to that interface, which becomes awkward in facilitating new features such as early muxer negotiation.
The text was updated successfully, but these errors were encountered:
In the process of building the integration test for early muxer negotiation #1836, this enhancement came into being as suggested by @marten-seemann while we discussed the options of making the implementation of #1851 cleaner.
The existence of multistream.transport as a network.multiplexer type becomes an obvious obstacle of sharing muxer state info internally, especially in the concurrent context which may require locking to avoid data race.
This issue ticket proposes to get rid of the multistream.transport entity and merge its function into the upgrader. This solution may require fair amount of refactoring of the config and initialization code too, a lot of test code will also be affected, but in long term it should be worth the effort for simplified upgrade logic and cleaner code structure. There is no reason the multistream.transport should be a network.Transport type and be restricted to that interface, which becomes awkward in facilitating new features such as early muxer negotiation.
The text was updated successfully, but these errors were encountered: