1. 30 Jan, 2020 2 commits
    • Steven Allen's avatar
      Merge pull request #189 from ipfs/feat/proto-ext-poc · 86178ba3
      Steven Allen authored
      PoC of Bitswap protocol extensions implementation
      86178ba3
    • 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
  2. 23 Jan, 2020 2 commits
  3. 18 Dec, 2019 1 commit
  4. 16 Dec, 2019 1 commit
  5. 09 Dec, 2019 2 commits
  6. 05 Dec, 2019 5 commits
  7. 28 Oct, 2019 1 commit
    • dirkmc's avatar
      Merge PR Parallelize engine reads (#216) · dcbe1f29
      dirkmc authored
      * feat: parallelize reads
      
      * feat: concurent engine task workers and concurrent bstore reads
      
      * fix: lint
      
      * fix: address review comments
      
      * refactor: in BlockstoreManager wait for process.Closing() instead of Context.Done()
      
      * fix: use channel size 0 for BlockstoreManager reads
      
      * fix: change blockstore error logs from warnings to errors
      
      * fix: flaky test
      
      * fix: lint
      dcbe1f29
  8. 15 Oct, 2019 3 commits
  9. 02 Oct, 2019 2 commits
  10. 01 Oct, 2019 2 commits
  11. 25 Sep, 2019 1 commit
  12. 24 Sep, 2019 9 commits
  13. 09 Sep, 2019 3 commits
  14. 07 Sep, 2019 3 commits
    • Steven Allen's avatar
      engine(test): test peer usefulness tagging · 1f09ef51
      Steven Allen authored
      1f09ef51
    • Steven Allen's avatar
      cdc87be0
    • Steven Allen's avatar
      engine: tag peers based on usefulness · 9d580a65
      Steven Allen authored
      This patch tracks two usefulness metrics: short-term usefulness and long-term
      usefulness. Short-term usefulness is sampled frequently and highly weights new
      observations. Long-term usefulness is sampled less frequently and highly weights
      on long-term trends.
      
      In practice, we do this by keeping two EWMAs. If we see an interaction within
      the sampling period, we record the score, otherwise, we record a 0. The
      short-term one has a high alpha and is sampled every shortTerm period. The
      long-term one has a low alpha and is sampled every longTermRatio*shortTerm
      period.
      
      To calculate the final score, we sum the short-term and long-term scores then
      adjust it ±25% based on our debt ratio. Peers that have historically been more
      useful to us than we are to them get the highest score.
      9d580a65
  15. 28 Aug, 2019 2 commits
  16. 27 Aug, 2019 1 commit