1. 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
  2. 15 Oct, 2019 1 commit
  3. 19 Jun, 2019 1 commit
  4. 14 Jun, 2019 1 commit
  5. 31 May, 2019 1 commit
  6. 10 May, 2019 1 commit
  7. 20 Feb, 2019 1 commit
  8. 18 Feb, 2019 1 commit
  9. 11 Dec, 2018 1 commit
  10. 04 Oct, 2018 2 commits
    • Steven Allen's avatar
      allocate less in protobufs · 243a6c53
      Steven Allen authored
      This was showing up as a major source of heap allocations (well, at least when
      the DHT is in client-only mode).
      243a6c53
    • 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
  11. 12 Sep, 2018 1 commit
  12. 09 Aug, 2018 1 commit
  13. 27 Jul, 2018 1 commit
  14. 16 Jul, 2018 1 commit
  15. 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
  16. 09 Jun, 2018 1 commit
  17. 06 Jun, 2018 1 commit
  18. 01 Jun, 2018 1 commit
  19. 13 Feb, 2018 1 commit
  20. 01 Feb, 2018 1 commit
  21. 24 Jan, 2018 1 commit
  22. 14 Dec, 2017 1 commit
  23. 07 Dec, 2017 1 commit
  24. 21 Nov, 2017 1 commit
  25. 17 Nov, 2017 1 commit
  26. 14 Sep, 2017 1 commit
    • Steven Allen's avatar
      gx: update go-stream-muxer · 557bef8c
      Steven Allen authored
      Introduces a new Reset method on streams that kills both sides of the
      connection. Close now officially just closes the write side (what it did all
      along...)
      
      * Also pull through shiny new go-multiplexer fixes.
      * Also pull in go-reuseport update.
      
      License: MIT
      Signed-off-by: default avatarSteven Allen <steven@stebalien.com>
      557bef8c
  27. 02 Sep, 2017 1 commit
  28. 12 Jul, 2017 1 commit
  29. 04 Jul, 2017 1 commit
  30. 29 Jun, 2017 2 commits
  31. 31 May, 2017 1 commit
  32. 30 May, 2017 1 commit
  33. 20 Apr, 2017 1 commit
  34. 06 Mar, 2017 1 commit
  35. 12 Feb, 2017 2 commits
    • Jeromy's avatar
      update go-multihash and bubble up deps · 9d4dee74
      Jeromy authored
      License: MIT
      Signed-off-by: default avatarJeromy <jeromyj@gmail.com>
      9d4dee74
    • Jakub Sztandera's avatar
      make: rework makefiles for non-recursive make and add sharness coverage · 77a6c312
      Jakub Sztandera authored
      This commit introduces non-recursive Makefile infrastructure that replaces current Makefile infrastructure.
      It also generally cleanups the Makefiles, separates them into nicer sub-modules and centralizes common operations into single definitions.
      
      It allows to depend on any target that is defined in the makefile, this means that for example `gx install` is called once when `make build test_expensive_sharness` is called instead of 4 or 5 times.
      
      It also makes the dependencies much cleaner and allows for reuse of modules. For example sharness coverage collection (WIP) uses sharness target with amended PATH, previously it might have been possible but not without wiring in the coverage collection into sharness make runner code.
      
      Yes, it is more complex but not much more. There are few rules that have to be followed and few complexities added but IMHO it is worth it.
      
      How to NR-make:
      1. If make is to generate some file via a target, it MUST be defined in Rules.mk file in the directory of the target.
      2. `Rules.mk` file MUST have `include mk/header.mk` statement as the first line and `include mk/footer.mk` statement as the last line (apart from project root `Rules.mk`).
      3. It then MUST be included by the closest `Rules.mk` file up the directory tree.
      4. Inside a `Rules.mk` special variable accessed as `$(d)` is defined. Its value is current directory, use it so if the `Rules.mk` file is moved in the tree it still works without a problem. Caution: this variable is not available in the recipe part and MUST NOT be used. Use name of the target or prerequisite to extract it if you need it.
      5. Make has only one global scope, this means that name conflicts are a thing. Names SHOULD  follow `VAR_NAME_$(d)` convention. There are exceptions from this rule in form of well defined global variables. Examples: General lists `TGT_BIN`, `CLEAN`; General targets: `TEST`, `COVERAGE`; General variables: `GOFLAGS`, `DEPS_GO`.
      3. Any rules, definitions or variables that fit some family SHOULD be defined in `mk/$family.mk` file and included from project root `Rules.mk`
      
      License: MIT
      Signed-off-by: default avatarJakub Sztandera <kubuxu@protonmail.ch>
      77a6c312
  36. 07 Dec, 2016 1 commit
  37. 02 Dec, 2016 1 commit