1. 04 Sep, 2018 1 commit
  2. 05 Jun, 2018 1 commit
    • 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