• Steven Allen's avatar
    refactor for new transports · f73db3de
    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
limiter.go 4.07 KB