1. 06 Mar, 2020 2 commits
  2. 04 Mar, 2020 1 commit
  3. 03 Mar, 2020 1 commit
  4. 02 Mar, 2020 1 commit
    • dirkmc's avatar
      Ensure broadcast when remaining peer becomes unavailable (#272) · 0ba089b4
      dirkmc authored
      * fix: ensure broadcast when peer becomes unavailable and all other peers sent DONT_HAVE for CID
      
      * fix: lint warnings
      
      * refactor: simplify session want sender DONT_HAVE list
      
      * fix: flaky test
      
      * test: add session exhausted wants test
      
      * docs: improve sessionWantSender processAvailability docs
      0ba089b4
  5. 12 Feb, 2020 1 commit
  6. 30 Jan, 2020 2 commits
    • Steven Allen's avatar
      feat: move internals to an internal package · bbf65296
      Steven Allen authored
      This makes reading the docs much easier as it's clear what's "private" and
      what's not.
      
      fixes #238
      bbf65296
    • dirkmc's avatar
      feat: bitswap protocol extensions · b3a47bcf
      dirkmc authored
      This commit extends the bitswap protocol with two additional wantlist properties:
      
      * WANT_HAVE/HAVE: Instead of asking for a block, a node can specify that they
        want to know if any peers "have" the block.
      * WANT_HAVE_NOT/HAVE_NOT: Instead of waiting for a timeout, a node can explicitly
        request to be told immediately if their peers don't currently have the given
        block.
      
      Additionally, nodes now tell their peers how much data they have queued to send
      them when sending messages. This allows peers to better distribute requests,
      keeping all peers busy but not overloaded.
      
      Changes in this PR are described in: https://github.com/ipfs/go-bitswap/issues/186
      b3a47bcf
  7. 28 Aug, 2019 1 commit
    • Steven Allen's avatar
      session: buffer some request channels · 8454ba00
      Steven Allen authored
      We're not using these synchronously so we can buffer them a bit to avoid
      blocking quite as much.
      
      This also combines all incoming channels into a single one to ensure all
      operations are processed in-order. This might be overkill bit it makes reasoning
      about this a bit simpler.
      8454ba00
  8. 22 Aug, 2019 1 commit
  9. 20 Aug, 2019 1 commit
  10. 15 Aug, 2019 4 commits
  11. 13 Aug, 2019 1 commit
  12. 04 Jul, 2019 2 commits
  13. 03 Jul, 2019 1 commit
    • hannahhoward's avatar
      feat(sessions): pass optimization rating · 8e59a716
      hannahhoward authored
      When fetching optimized peers from the peer manager, return an optimization rating, and pass on to
      request splitter
      
      BREAKING CHANGE: interface change to GetOptimizedPeers and SplitRequests public package methods
      8e59a716
  14. 14 Jun, 2019 1 commit
  15. 12 Jun, 2019 3 commits
  16. 04 Jun, 2019 1 commit
  17. 03 Jun, 2019 4 commits
  18. 31 May, 2019 1 commit
  19. 11 Jan, 2019 1 commit
  20. 10 Jan, 2019 1 commit
  21. 22 Dec, 2018 1 commit
  22. 20 Dec, 2018 3 commits
  23. 13 Dec, 2018 4 commits
  24. 11 Dec, 2018 1 commit
    • hannahhoward's avatar
      refactor(sessions): extract sessions to package · 40aa1fb8
      hannahhoward authored
      - moved sessions out of main bitswap package
      - modified session manager to manage all sessions
      - moved get functions to their own package so sessions can directly
      
      BREAKING CHANGE: SessionsForBlock, while not used outside of Bitswap, has been removed, and was an
      exported function
      40aa1fb8