1. 03 Jun, 2020 4 commits
  2. 01 May, 2020 1 commit
    • dirkmc's avatar
      fix: use one less go-routine per session (#377) · a2dd024c
      dirkmc authored
      * fix: use one less go-routine per session
      
      * fix: send cancel when GetBlocks() is cancelled (#383)
      
      * fix: send cancel when GetBlocks() is cancelled
      
      * fix: in SessionManager shutdown nil out sessions
      
      * fix: sessionWantSender perf
      
      * make sessionWantSender.SignalAvailability() non-blocking
      
      * Refactor SessionInterestManager (#384)
      
      * refactor: customize SessionInterestManager
      
      * refactor: SessionInterestManager perf
      a2dd024c
  3. 23 Apr, 2020 1 commit
  4. 24 Mar, 2020 2 commits
  5. 06 Mar, 2020 4 commits
  6. 04 Mar, 2020 2 commits
  7. 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
  8. 14 Feb, 2020 1 commit
  9. 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