Commit Graph

587 Commits

Author SHA1 Message Date
Steven Allen
520938a9ec gx import/update libp2p/go-libp2p-routing
For some reason, this was referenced but wasn't listed in packages.json.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-06-29 22:12:14 +02:00
Steven Allen
13636bef50 blocks: gx import go-block-format
And updated related dependencies.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-06-29 22:12:14 +02:00
Steven Allen
bccd4d4e8f blocks: move block format to it's own repo
We need to reference it from outside of this repo.

License: MIT
Signed-off-by: Steven Allen <steven@stebalien.com>
2017-06-29 22:12:14 +02:00
zramsay
096b3232d5 address PR comments; remove commented/dead code
License: MIT
Signed-off-by: Zach Ramsay <zach.ramsay@gmail.com>
2017-06-01 12:13:04 -04:00
zramsay
c5df8f0796 apply the megacheck tool to improve code quality
License: MIT
Signed-off-by: Zach Ramsay <zach.ramsay@gmail.com>
2017-05-31 16:56:11 -04:00
Lars Gierth
64ced367ac gx: update go-libp2p-peerstore, go-libp2p, go-libp2p-kbucket
License: MIT
Signed-off-by: Lars Gierth <larsg@systemli.org>
2017-05-30 02:26:05 +02:00
Jeromy
0418930ca8 update to dht code with provide announce option
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-05-23 13:59:36 -07:00
Jeromy
331e60ba34 test for partner removal
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-05-19 19:05:12 -07:00
Jeromy
f53dc7c8b5 bitswap: clean up ledgers when disconnecting
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2017-05-19 19:01:58 -07:00
dgrisham
4789a622b2 tests: bitswap ledger tests modified
Updated the `TestBitswapLedger*` tests and added assertions to check concrete
values for ledgers (rather than just checking that two peers' ledgers match).
The names for these tests were also changed from the previous commit, according
to 's/BytesSent/Ledger/'.

License: MIT
Signed-off-by: David Grisham <dgrisham@mines.edu>
2017-04-25 20:16:37 -06:00
dgrisham
74e19eae62 tests + data dependency fix: BytesSent bug now completely fixed
Tests were added to ensure that the bug fix in commit 000fbd25 was correct.
The tests caught an error where a peer's ledger was not properly locked when
updating it in the `MessageSent()` function. The appropriate calls to lock the
ledger were made, and the tests successfully passed.

License: MIT
Signed-off-by: David Grisham <dgrisham@mines.edu>
2017-04-25 20:16:37 -06:00
dgrisham
0514504d09 bug fix: BytesSent in peers' ledgers now updates
When sending data to another user, the number of bytes sent to that user (saved
by the corresponding Bitswap ledger) was not updated (it was always 0). This
also meant that the debt ratio was also always 0.

The function that updates the `BytesSent` value in the ledger, `MessageSent()`,
was already implemented, however it was not called when the peer was sent data.
To fix this, a call to `MessageSent()` was made in the `taskWorker()` function,
which is where both the message in question and the Bitswap engine were
available to make the call. `MessageSent()` requires the peer's ID and
`BitSwapMessage` as its arguments, the latter of which had to be created by
making a new `BitSwapMessage`, then the block being sent was added to the new
message.

Note that, similar to the analagous call to `MessageReceived()`, records *all*
of the bytes sent to a particular user. At some point, both of these should be
updated to only record the numbers of *useful* bytes sent and received between
peers.

License: MIT
Signed-off-by: David Grisham <dgrisham@mines.edu>
2017-04-25 20:16:37 -06:00
Jeromy
b15470d548
bubble up updates from go-multihash changes
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-04-20 20:28:04 +02:00
Andrew Chin
7ebbe495cb Fix wanlist typo in prometheus metric name
This will be a breaking change for anyone who is currently monitoring
the `ipfs_bitswap_wanlist_total` prometheus stat

License: MIT
Signed-off-by: Andrew Chin <achin@eminence32.net>
2017-03-28 23:36:55 -04:00
Hector Sanjuan
3b6216b239 Make Golint happy in the blocks submodule.
This has required changing the order of some parameters and
adding HashOnRead to the Blockstore interface (which I have in turn
added to all the wrapper implementations).

License: MIT
Signed-off-by: Hector Sanjuan <hector@protocol.ai>
2017-03-24 16:46:42 +01:00
Jeromy Johnson
cbf8a0cdb4 Merge pull request #3748 from ipfs/deps/update-dht
update go-libp2p-kad-dht with getclosestpeers fix
2017-03-06 11:21:38 -08:00
Jeromy
332d760f12
Add more info to bitswap stat
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-03-06 09:47:53 +01:00
Jeromy
4e168dc323 update go-libp2p-kad-dht with getclosestpeers fix
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-03-05 23:06:04 -08:00
Jakub Sztandera
acfaf9ac89
Introduce sent blocks histogram
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-03-02 10:29:02 +01:00
Jakub Sztandera
ccd1f8e3d7
Add metric of number of elements in the wantlist
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-03-02 10:29:00 +01:00
Jakub Sztandera
ce684ab73e
refactor: cleanup bitswap metrics collection
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-03-02 10:28:36 +01:00
Jakub Sztandera
26cb182ba8
Introduce block and dup histograms to bitswap
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-03-02 10:28:36 +01:00
Jakub Sztandera
4eed546e06
deps: update dependencies for PNet
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-22 20:04:43 +01:00
Jeromy
b4eeff2d84 update go-multihash and bubble up deps
License: MIT
Signed-off-by: Jeromy <jeromyj@gmail.com>
2017-02-12 12:25:41 -08:00
Jeromy Johnson
e1619bf302 Merge pull request #3504 from ipfs/feat/makefile/refactor
Makefile rework and sharness test coverage
2017-02-11 17:26:10 -08:00
Jakub Sztandera
f630222580
make: rework makefiles for non-recursive make and add sharness coverage
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: Jakub Sztandera <kubuxu@protonmail.ch>
2017-02-12 01:18:40 +01:00
Zander Mackie
32e92c72eb Clean up reprovide test to reflect cleanup up routing mock
License: MIT
Signed-off-by: Zander Mackie <zmackie@gmail.com>
2017-01-20 16:41:40 -05:00
Jeromy
30aacd1b0a update go-libp2p with negotiate lazy fixes
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2017-01-10 14:52:00 -08:00
Jeromy
d8f257c264 update libp2p for identify configuration updates
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-12-27 02:13:59 -08:00
David Dias
38703a8a7f update message.proto
Add some comments so that I don't forget about these

License: MIT
Signed-off-by: David Dias <daviddias.p@gmail.com>
2016-12-07 09:08:24 -08:00
Jeromy Johnson
c12f9777c5 Merge pull request #3445 from ipfs/feat/bitswap-sendmsg-deadline
bitswap: add a deadline to sendmsg calls
2016-12-05 09:17:28 -08:00
Jeromy
6f8dd03e07 bitswap: add wantlist fullness to protobuf messages
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-12-02 14:15:24 -08:00
Jeromy Johnson
5e4ca03afd Merge pull request #3448 from ipfs/feat/wlist-resend-delay
bitswap: increase wantlist resend delay to one minute
2016-11-30 14:03:52 -08:00
Jeromy
5e251e9d43 bitswap: increase wantlist resend delay to one minute
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-29 19:28:33 -08:00
Jeromy
02975bde9d bitswap: add a deadline to sendmsg calls
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-29 15:22:05 -08:00
Jeromy Johnson
66315b8e4f Merge pull request #3435 from ipfs/fix/errorf-bitswap
fix formatting on error call
2016-11-29 14:56:34 -08:00
Jeromy
53d47669da bubble up go-datastore deps
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-28 22:29:38 -08:00
Jeromy
3899469448 fix formatting on error call
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-28 13:42:47 -08:00
Jeromy Johnson
4e8015d74a Merge pull request #3408 from ipfs/feat/bitswap-cleanup
cleanup bitswap and handle message send failure slightly better
2016-11-27 11:23:44 -08:00
Jeromy
42e6e547c3 cleanup bitswap and handle message send failure slightly better
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-22 09:54:26 -08:00
Jakub Sztandera
1e170e8d6d
Update go-libp2p across codebase
License: MIT
Signed-off-by: Jakub Sztandera <kubuxu@protonmail.ch>
2016-11-22 01:22:50 +01:00
Jeromy
396c629301 update to newer ipld node interface with Copy and better Tree
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-15 18:00:49 -08:00
Jeromy
7fbaae49be update to go-libp2p 4.1.0
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-10 17:38:10 -08:00
Jeromy
25d9f8afd1 update to libp2p 4.0.4
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-05 21:44:36 -07:00
Jeromy
ec21220907 update go-libp2p
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-11-03 20:06:32 -07:00
Jeromy Johnson
437cc7fa78 Merge pull request #2911 from ipfs/feature/ifps-capitalize
docs: decapitalize IPFS where possible
2016-11-02 13:20:51 -07:00
Jeromy
afce683eae update go-libp2p-swarm with deadlock fixes
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-30 19:16:28 -07:00
Richard Littauer
9843e86258 Changed so only explicit ipfs cli commands are lowercased
License: MIT
Signed-off-by: Richard Littauer <richard.littauer@gmail.com>
2016-10-27 22:55:13 -07:00
Jeromy
eac13abaec update to new cid and ipld node packages
License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-25 09:54:04 -07:00
Jeromy
01aee44679 merkledag: change 'Node' to be an interface
Also change existing 'Node' type to 'ProtoNode' and use that most
everywhere for now. As we move forward with the integration we will try
and use the Node interface in more places that we're currently using
ProtoNode.

License: MIT
Signed-off-by: Jeromy <why@ipfs.io>
2016-10-12 08:16:03 -07:00