1. 22 Aug, 2021 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. 17 Mar, 2020 1 commit
  4. 30 Jan, 2020 1 commit
    • 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
  5. 10 May, 2019 1 commit
  6. 20 Feb, 2019 3 commits
  7. 11 Dec, 2018 1 commit
  8. 04 Oct, 2018 2 commits
    • Steven Allen's avatar
      use CIDs directly as map keys · 77ea854e
      Steven Allen authored
      1. Use a `taskEntryKey` *type* instead of a string (now that both peer IDs and
      CIDs are hashable).
      2. Get rid of all uses of `cid.KeyString` (mostly just for type safety). This
      also means we don't need to parse the CID and allocate to convert it *back* from
      a string.
      77ea854e
    • taylor's avatar
      bitswap: Bitswap now sends multiple blocks per message · eb0d1ffc
      taylor authored
      Updated PeerRequestTask to hold multiple wantlist.Entry(s). This allows Bitswap to send multiple blocks in bulk per a Peer's request. Also, added a metric for how many blocks to put in a given message. Currently: 512 * 1024 bytes. 
      
      License: MIT
      Signed-off-by: default avatarJeromy <why@ipfs.io>
      eb0d1ffc
  9. 12 Sep, 2018 1 commit
  10. 27 Jul, 2018 1 commit
  11. 16 Jul, 2018 1 commit
  12. 09 Jun, 2018 1 commit
  13. 24 Jan, 2018 1 commit
  14. 14 Dec, 2017 1 commit
  15. 07 Dec, 2017 1 commit
  16. 02 Sep, 2017 1 commit
  17. 12 Jul, 2017 1 commit
  18. 07 Jul, 2017 1 commit
  19. 05 Jul, 2017 3 commits
  20. 04 Jul, 2017 1 commit
  21. 29 Jun, 2017 1 commit
  22. 20 Apr, 2017 1 commit
  23. 12 Feb, 2017 1 commit
  24. 29 Nov, 2016 1 commit
  25. 16 Nov, 2016 1 commit
  26. 25 Oct, 2016 1 commit
  27. 10 Oct, 2016 1 commit
    • Jeromy's avatar
      bitswap: protocol extension to handle cids · 591491b1
      Jeromy authored
      This change adds the /ipfs/bitswap/1.1.0 protocol. The new protocol
      adds a 'payload' field to the protobuf message and deprecates the
      existing 'blocks' field. The 'payload' field is an array of pairs of cid
      prefixes and block data. The cid prefixes are used to ensure the correct
      codecs and hash functions are used to handle the block on the receiving
      end.
      
      License: MIT
      Signed-off-by: default avatarJeromy <why@ipfs.io>
      591491b1
  28. 08 Oct, 2016 1 commit
  29. 06 Oct, 2016 1 commit
  30. 09 Sep, 2016 1 commit
  31. 04 Sep, 2016 1 commit
  32. 28 Apr, 2016 1 commit
  33. 27 Apr, 2016 1 commit
  34. 01 Jun, 2015 1 commit
  35. 31 Mar, 2015 1 commit