-
Steven Allen authored
Removes: * go-libp2p-conn logic (moved to transports) * go-libp2p-peerstream (moved here) Changes: * New transport interface. * Explicit over implicit (the implicit automagic now all lives in go-libp2p): * No more default transports, muxers, etc. * No more fallback dialer. Transports are now *required*. * Stream opening: * Connection picking logic (instead of just picking the first). * Tries harder to open a stream of some connections happen to be closed. * Stream closing: * No longer treats half-closed streams as fully closed. Users *must* read the an EOF or reset the stream for it to be garbage collected. * No more polling for dead connections. * Multiplexers are now *non-optional*. Really, they haven't been optional for a while but we still pretended that they were. * No more Network type alias. It added a bunch of code and didn't really provide anything but an alternative set of methods that do the same thing. * Notifications: * New guarantee: connection open notifications will complete before connection close notifications begin. * Given that, notifications are now delivered in parallel. No more notification backlogs blocking connection closing/opening.
f73db3de