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
The code in muxer_multistream.py and security_multistream.py is pretty duplicative and I think we will have less burden of maintenance over time if we consider consolidating the use of multistream-select in each one.
I opened this issue as a discussion: the decision to make is whether the specialization in each of the above classes warrants its own class, or if we can simply have two instances of Multiselect in the TransportUpgrader. I'm currently of the opinion that the specialization in each class does not hold its own weight so we should remove them; the only thing really make this up for debate is how we handle the inbound/outbound sense of the action and the fact that we work w/ particular abstractions (in particular, MuxerMultistream.new_conn takes an ISecureConn -- can we just provide an io.ReadWriteCloser instead?).
The text was updated successfully, but these errors were encountered:
I think inlining muxer_multistream and security_multistream in TransportUpgrader is doable, though I guess we will lose some extent of abstraction. SecurityMultistream, which implements SecureTransport, seems to be the "Upgrader" which uses "Multistream-select" as the negotiation protocol. MuxerMultistream is similar as well. I think it's fine to remove them If we don't have protocols other than "Multistream-select" for protocol negotiation to upgrade connections.
The code in
muxer_multistream.py
andsecurity_multistream.py
is pretty duplicative and I think we will have less burden of maintenance over time if we consider consolidating the use of multistream-select in each one.I opened this issue as a discussion: the decision to make is whether the specialization in each of the above classes warrants its own class, or if we can simply have two instances of
Multiselect
in theTransportUpgrader
. I'm currently of the opinion that the specialization in each class does not hold its own weight so we should remove them; the only thing really make this up for debate is how we handle the inbound/outbound sense of the action and the fact that we work w/ particular abstractions (in particular,MuxerMultistream.new_conn
takes anISecureConn
-- can we just provide anio.ReadWriteCloser
instead?).The text was updated successfully, but these errors were encountered: