1. 15 Apr, 2021 1 commit
  2. 01 May, 2020 1 commit
  3. 30 Apr, 2020 3 commits
  4. 29 Apr, 2020 1 commit
  5. 22 Apr, 2020 1 commit
    • Steven Allen's avatar
      feat: move broadcast wantlist into the peermanager (#365) · 2a033735
      Steven Allen authored
      * feat: small optimizations
      
      * feat: move broadcast wantlist into the peermanager
      
      This deduplicates some state and allows us to do less book-keeping for broadcast
      wants. We should probably rename the PeerManager to the WantManager and rename the
      WantManager to something else.
      
      * fix: lint warnings
      2a033735
  6. 21 Apr, 2020 2 commits
    • Steven Allen's avatar
      824f7264
    • Steven Allen's avatar
      fix: minimize time holding wantlist lock (#361) · 9fc4a368
      Steven Allen authored
      * fix: minimize time holding wantlist lock
      
      Instead of holding the lock the entire time we prepare a message, hold the lock
      while we retrieve the wantlist entries, process the entries without the lock,
      retake the lock, then mark entries as sent.
      
      This means:
      
      1. We never sort entries while holding the lock.
      2. We allocate exactly three times while holding the lock (once per entry list).
      
      * fix: address code review
      9fc4a368
  7. 17 Apr, 2020 3 commits
  8. 16 Apr, 2020 1 commit
  9. 15 Apr, 2020 1 commit
  10. 14 Apr, 2020 1 commit
  11. 13 Apr, 2020 4 commits
  12. 11 Apr, 2020 1 commit
  13. 10 Apr, 2020 1 commit
  14. 26 Mar, 2020 1 commit
  15. 19 Mar, 2020 3 commits
  16. 17 Mar, 2020 2 commits
  17. 16 Mar, 2020 1 commit
  18. 13 Mar, 2020 1 commit
  19. 10 Mar, 2020 1 commit
  20. 06 Mar, 2020 2 commits
  21. 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
  22. 13 Feb, 2020 2 commits
  23. 12 Feb, 2020 1 commit
  24. 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
  25. 14 Aug, 2019 1 commit
  26. 31 May, 2019 1 commit