1. 07 May, 2020 1 commit
  2. 21 Apr, 2020 1 commit
    • 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
  3. 15 Apr, 2020 1 commit
  4. 10 Apr, 2020 1 commit
  5. 26 Mar, 2020 1 commit
  6. 17 Mar, 2020 1 commit
  7. 13 Mar, 2020 1 commit
  8. 12 Mar, 2020 1 commit
  9. 06 Mar, 2020 1 commit
  10. 12 Feb, 2020 1 commit
  11. 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
  12. 23 Jan, 2020 1 commit
  13. 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
  14. 09 Sep, 2019 1 commit
  15. 07 Sep, 2019 1 commit
    • 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
  16. 15 Aug, 2019 1 commit
  17. 13 Aug, 2019 1 commit
  18. 31 May, 2019 1 commit
  19. 22 May, 2019 1 commit
  20. 11 May, 2019 1 commit
  21. 10 May, 2019 1 commit
  22. 29 Apr, 2019 1 commit
  23. 20 Feb, 2019 1 commit
  24. 11 Dec, 2018 1 commit
  25. 04 Oct, 2018 2 commits
  26. 27 Jul, 2018 1 commit
  27. 23 Jul, 2018 1 commit
  28. 16 Jul, 2018 1 commit
  29. 27 Jun, 2018 1 commit
    • Steven Allen's avatar
      gx update · b468efbc
      Steven Allen authored
      Updates:
      
      * go-kad-dht: Query performance improvements, DHT client fixes, validates
        records on *local* put.
      * go-libp2p-swarm/go-libp2p-transport: Timeout improvements.
      * go-multiaddr-net: Exposes useful Conn methods (CloseWrite, CloseRead, etc.)
      * go-log: fixes possible panic when enabling/disabling events.
      * go-multiaddr: fixes possible panic when stringifying malformed multiaddrs,
        adds support for consuming /p2p/ multiaddrs.
      
      fixes #5113
      unblocks #4895
      
      License: MIT
      Signed-off-by: default avatarSteven Allen <steven@stebalien.com>
      b468efbc
  30. 09 Jun, 2018 1 commit
  31. 01 Jun, 2018 1 commit
  32. 26 Mar, 2018 1 commit
  33. 15 Feb, 2018 1 commit
    • Hector Sanjuan's avatar
      Extract blocks/blockstore package to go-ipfs-blockstore · 93f5fecd
      Hector Sanjuan authored
      This extracts the blocks/blockstore package and renames the
      blocks/blockstore/util package to /blocks/blockstoreutil
      (because util depends on Pin and I don't plan to extract
      Pin and its depedencies).
      
      The history of blocks/blockstore has been preserved. It has
      been gx'ed and imported. Imports have been rewritten accordingly
      and re-ordered.
      
      License: MIT
      Signed-off-by: default avatarHector Sanjuan <hector@protocol.ai>
      93f5fecd
  34. 01 Feb, 2018 1 commit
  35. 24 Jan, 2018 1 commit
  36. 14 Dec, 2017 1 commit
  37. 07 Dec, 2017 2 commits