Commit Graph

11097 Commits

Author SHA1 Message Date
Brian Tiger Chow
251b916ce9 style: readability
@jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:28 -08:00
Brian Tiger Chow
1026244f13 fix(net/mux) rate-limit producers by handling outgoing message synchronously
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
0f6b1bc73e fix(dht/routing) buffer promise response to prevent resource leak
When performing this "promise" pattern, it is important to
provide a
channel with space for one value. Otherwise the sender may
block forever
in the case of a receiver that decides to abandon the
request. A subtle
detail, but one that is important for avoiding
leaked goroutines.

cc @whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow
<brian@perfmode.com>

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
de374226be fix(dht/routing) make GetProviders respect context
This commit makes GetProviders (sync) respect the request context. It
also amends all of GetProviders' callsites to pass a context in. This
meant changing the signature of the dht's handlerfunc.

I think I'll start referring to the request context as Vito Corleone.

cc @whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Brian Tiger Chow
f756088d26 fix(routing/dht) _always_ close chan on exit of FindProvidersAsync
the important change here is that within FindProvidersAsync, the channel
is closed using a `defer`. This ensures the channel is always closed,
regardless of the path taken to exit.

+ misc cleanup

cc @whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:27 -08:00
Matt Bell
c80a7941d1 commands/cli: Fixed file path formatting on Windows 2014-12-05 20:56:27 -08:00
Matt Bell
5cb39235cc commands/http: Fixed bug with client arg querystring 2014-12-05 20:56:27 -08:00
Matt Bell
4c7a694409 commands/http: Fixed client panic when sending a Request with nil 'Files' 2014-12-05 20:56:27 -08:00
Matt Bell
c91805d7bd core/commands: Fixed build on Windows 2014-12-05 20:56:26 -08:00
Brian Tiger Chow
4882904c3e fix: s/bootstrap rm/boostrap remove
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:26 -08:00
Brian Tiger Chow
3bdb36614e fix(cmd/id) determine offline-ness with !node.OnlineMode()
It's better to have one mechanism for determining whether we're offline
and to improve the SnR of this mechanism over time. We presently have
too many arbitrary heuristics for determining whether we're running in
offline mode. TRTTD is to use polymorphism to eliminate these
conditional checks. (instantiate the node with offline versions of
routing, network, etc.) It'll clean up the core constructor, make it
easier to create ephemeral nodes, and eliminate a class of errors.

@whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:26 -08:00
Brian Tiger Chow
65c6bd07bf feat(core/commands): expose commands to allow for the development of high-level interface
+ style: sort command list

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:26 -08:00
Brian Tiger Chow
229c93f72f fix(net/multiconn) data race in test
https://build.protocol-dev.com/job/go-ipfs.test.go.race.nofuse/276/console

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:56:26 -08:00
Jeromy Johnson
d79ba526dd Merge pull request #386 from jbenet/bithack
complete Bithack changes
2014-12-06 00:20:59 +00:00
Jeromy Johnson
260ac96175 Update README.md 2014-12-05 20:53:36 +00:00
Jeromy
afa28dc672 update bitswap readme 2014-12-05 20:53:36 +00:00
Jeromy
f054be9e1f update bitswap readme 2014-12-05 20:53:35 +00:00
Jeromy
260ace7f81 util keys need to be pointers for loggable 2014-12-05 20:53:33 +00:00
Jeromy
6552163740 add readme for bitswap 2014-12-05 20:53:33 +00:00
Jeromy
432eee651f remove unnecessary concurrency in last commit 2014-12-05 20:53:33 +00:00
Jeromy
e8536db351 make bitswap sub-RPC's timeout (slowly for now) 2014-12-05 20:53:33 +00:00
Jeromy
514b26e2b8 remove sigquit from handled signals 2014-12-05 20:53:33 +00:00
Jeromy
c2b497e315 switch over to using sendMessage vs sendRequest 2014-12-05 20:53:32 +00:00
Jeromy
3a6b6c6974 cleanup, use a workgroup over channels 2014-12-05 20:53:32 +00:00
Brian Tiger Chow
9835c1e335 doc(bitswap) fix duplicaduplication
@whyrusleeping

ada571425b (commitcomment-8753622)

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:32 +00:00
Jeromy
bc02b77b47 document bitswap more 2014-12-05 20:53:32 +00:00
Jeromy
f0a4fdad59 some bitswap cleanup 2014-12-05 20:53:32 +00:00
Brian Tiger Chow
1e7b7efa76 refactor(bitswap) perform Publish in HasBlock
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:32 +00:00
Brian Tiger Chow
829eac3012 fix(bitswap) pass derived context to called functions
@whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:31 +00:00
Brian Tiger Chow
bb0b5f7c0b fix(notifications) prevent deadlock when context cancelled early
+ test(notifications)

cc @whyrusleeping @jbenet

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:31 +00:00
Brian Tiger Chow
7a3819a528 refactor(util) move block generator
@whyrusleeping @jbenet

Putting the block generator in a util dir until blocks.

Can't put it in util/testutil because the util/testutil/dag-generator
imports blockservice and blockservice uses the generator.

Tough problem. This'll do for now.

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:31 +00:00
Jeromy
d06343083e add a test in merkledag to exercise GetBlocks 2014-12-05 20:53:31 +00:00
Jeromy
4cc1780705 fix issues in merkledag 2014-12-05 20:53:31 +00:00
Brian Tiger Chow
d721c448af reset test to the way it ways before
@whyrusleeping

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:31 +00:00
Brian Tiger Chow
e27de2bfa2 fix(blockservice) respect context in GetBlocks
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:30 +00:00
Brian Tiger Chow
bef75d5061 fix(bitswap/testutils) vendor
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:30 +00:00
Brian Tiger Chow
fb5779661b fix(bs/notifications) use SubOnceEach to provide uniqueness guarantee
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

vendor forked pubsub to get SubOnceEach

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:30 +00:00
Brian Tiger Chow
19de3041fb fix(bitswap) build-breaking compilation errors
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:30 +00:00
Brian Tiger Chow
aac3c6abbd fix(blockservice) test
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:30 +00:00
Jeromy
07bb901ed5 add a test to blockservice to demonstate GetBlocks failure. 2014-12-05 20:53:29 +00:00
Jeromy
6d217b5311 ensure sending of wantlist to friendly peers 2014-12-05 20:53:29 +00:00
Brian Tiger Chow
9bf1ba6ab5 fix(bs/notifications) prevent duplicates
@whyrusleeping now notifications _guarantees_ there won't be any
duplicates

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:29 +00:00
Brian Tiger Chow
20382340f5 test(bs/n) check for duplicates received
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:29 +00:00
Brian Tiger Chow
e393edcc28 Revert "hotfix(dep) duplicates TEMP DONT MERGE TO MASTER"
This reverts commit 49004e9743.
2014-12-05 20:53:29 +00:00
Brian Tiger Chow
044db5bee8 hotfix(dep) duplicates TEMP DONT MERGE TO MASTER
before merging, fork and send a PR to tuxy

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:29 +00:00
Brian Tiger Chow
e4c9731643 chore(util) remove forward
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:28 +00:00
Brian Tiger Chow
6a5bc4b879 fix(bs/n) remove unnecessary variable
to remove ambiguity

(before it was possible to loop over either topics or keys

by only keeping keys, there's no confusing about what to use for the
loop range

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:28 +00:00
Brian Tiger Chow
134929ac64 misc(bs/n) rm dead code
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:28 +00:00
Brian Tiger Chow
b3d3b1dd30 refactor(bitswap) forwardN no longer needed
@whyrusleeping

now, the pubsub channel closes after sending N blocks. we got this
functionality for free from the fix. So, the forwardN wrap is no longer
required! woohoo

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:28 +00:00
Brian Tiger Chow
a5fccaccee tests(bitswap/notifications) test niladic
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-05 20:53:28 +00:00