Commit Graph

4835 Commits

Author SHA1 Message Date
Matt Bell
31ae178078 commands: Support outputting <-chan interface{} 2015-01-21 04:28:02 +00:00
Jeromy
9adcfe7bc2 address concerns from PR 2015-01-21 04:28:02 +00:00
Jeromy
ccb36277dd fix pinning UX, and add tests to match 2015-01-21 04:28:01 +00:00
Jeromy
5b20e86ed4 sharness test for pinning changes 2015-01-21 04:28:01 +00:00
Jeromy
b91db68056 update pinning to new semantics, and fix a couple bugs 2015-01-21 04:28:01 +00:00
Jeromy
3601a93d17 fix pin command output 2015-01-21 04:28:01 +00:00
Jeromy
f0781d8119 initial implementation of repo-gc command 2015-01-21 04:28:01 +00:00
Juan Batiz-Benet
99872f61c0 Merge pull request #610 from jbenet/reuseport-fix
p2p/net/conn: only reuseport if avail
2015-01-20 20:04:55 -08:00
Juan Batiz-Benet
223a97f3f8 p2p/net/conn: only reuseport if avail 2015-01-20 19:46:44 -08:00
Juan Batiz-Benet
ee4c727c83 update reuseport for the check 2015-01-20 19:34:49 -08:00
Brian Tiger Chow
94ef48ef91 Merge pull request #605 from jbenet/bench/offline-add
benchmark CLI `ipfs add`
2015-01-20 17:01:34 -08:00
Brian Tiger Chow
a58515ffb2 add benchmark for ipfs add CLI 2015-01-20 17:01:09 -08:00
Brian Tiger Chow
6b8d3e3c69 use extracted unit package 2015-01-20 17:01:09 -08:00
Brian Tiger Chow
de2cb5d8c7 refactor: extract thirdparty/unit 2015-01-20 17:01:09 -08:00
Juan Batiz-Benet
121061b645 Merge pull request #607 from jbenet/races
races: fix race conditions
2015-01-20 14:58:50 -08:00
Juan Batiz-Benet
908ff837fd updated peerstream (race) 2015-01-20 11:26:55 -08:00
Juan Batiz-Benet
239e82390f p2p/test/reconnect: fixed race condition 2015-01-20 10:57:45 -08:00
Juan Batiz-Benet
0b9bef1ea9 blockstore: fixed data race 2015-01-20 09:28:14 -08:00
Brian Tiger Chow
5c4be75146 fix: init datastore in datastore/ subdirectory
@whyrusleeping @jbenet newly initialized datastores were being dumped
into ./go-ipfs. Eeek. An oversight during the FSRepo refactor. Not sure
how this bug survived this long.
2015-01-20 06:23:51 -08:00
Juan Batiz-Benet
97333ae219 Merge pull request #602 from jbenet/reuseport
p2p/net/conn: reuse listen tcp port to dial
2015-01-19 23:38:03 -08:00
Juan Batiz-Benet
6de542b1eb p2p/net/conn: cleaner reuse port setup
This commit cleans up the reuse port setup, and fixes a problem:
make sure to filter addrs out that we simply cannot dial with
(e.g. loopback -> non-loopback, or linklocal -> nonlinklocal)
2015-01-19 23:18:52 -08:00
Juan Batiz-Benet
60cecefc60 p2p/net/conn: log when reuse fails 2015-01-19 23:18:52 -08:00
Juan Batiz-Benet
9062b9fe6c connect timing fixes to reuseport 2015-01-19 23:18:52 -08:00
Juan Batiz-Benet
7a3e0cdc75 CR updates to go-reuseport + go-sockaddr 2015-01-19 23:18:52 -08:00
Juan Batiz-Benet
e59b88dace p2p/proto/identify: use observed listen addrs
This commit finally makes use of the sent observed addrs.
If the connection's local address is from one of our
listen addrs, then the remote's observed addr is its
natted mapping, which is useful to us. For now, we add
it directly to our address book. (a future commit should
make addressbook addresses expire)
2015-01-19 23:18:51 -08:00
Juan Batiz-Benet
289f24207e p2p/test/reconnects: faster tests 2015-01-19 23:18:51 -08:00
Juan Batiz-Benet
334f9d2102 p2p/net/conn: use reuseport 2015-01-19 23:18:51 -08:00
Juan Batiz-Benet
911a3c90bc added go-reuseport + go-sockaddr 2015-01-19 23:18:51 -08:00
Juan Batiz-Benet
eb50900fff updated multiaddr-net for WrapNetListener 2015-01-19 23:18:51 -08:00
Brian Tiger Chow
7a322c9538 Merge pull request #601 from jbenet/fix/bitswap-decision-engine-freshness
fix(bitswap.decision.Engine) send only the freshest messages
2015-01-19 20:45:36 -08:00
Brian Tiger Chow
5985854099 fix: return pointer
@whyrusleeping
2015-01-19 03:08:05 -08:00
Brian Tiger Chow
60e288ed4b fix(bitswap.decision.Engine) enqueue only the freshest messages
Before, the engine worker would pop a task and block on send to the
bitswap worker even if the bitswap worker wasn't to receive. Since the
task could have been invalidated during this blocking send, a small
number of stale (already acquired) blocks would be send to partners.

Now, tasks are only popped off of the queue when bitswap is ready to
send them over the wire. This is accomplished by removing the
outboxChanBuffer and implementing a two-phase communication sequence.
2015-01-19 03:07:21 -08:00
Juan Batiz-Benet
1cf2bd2936 Merge pull request #584 from jbenet/fix/ipns
fix fuse mounting issues
2015-01-19 00:55:27 -08:00
Juan Batiz-Benet
56ae2fd0a8 routing: record validation into record/
This commit moves the record validation/verification
from dht/ into the new record/ packaage. Validator object
-- which is merely a map of ValidatorFuncs -- with a
VerifyRecord

cc @whyrusleeping
2015-01-19 08:10:37 +00:00
Jeromy
c01452e5ea move dht record code into new package 2015-01-19 08:07:58 +00:00
Jeromy
a5233faeae some comments 2015-01-19 08:06:51 +00:00
Jeromy
feeada0d90 fix fuse mounting issues
this time, without loading the private key on every startup
2015-01-19 08:05:52 +00:00
Brian Tiger Chow
d0e4cdf327 Merge pull request #568 from jbenet/feat/bitswap-decision-pq
feat(bitswap.decision.Engine) use PriorityQueue for Engine.Outbox
2015-01-18 15:15:19 -08:00
Brian Tiger Chow
76bea9be0a move PQ to thirdparty 2015-01-18 15:09:54 -08:00
Brian Tiger Chow
043b57f075 update random 2015-01-18 15:09:54 -08:00
Brian Tiger Chow
61e4300d59 feat(PQ)
refactor: peerRequestQueue

	it's a mistake to make one queue to fit all. Go's lack of algebraic
	types turns a generalized queue into a monstrosity of type
	checking/casting. Better to have individual queues for individual
	purposes.

	Conflicts:
		exchange/bitswap/decision/bench_test.go
		exchange/bitswap/decision/tasks/task_queue.go

	fix(bitswap.decision.PRQ): if peers match, always return result of pri comparison

	fix(bitswap.decision.Engine): push to the queue before notifying

	TOCTOU bug

	1. client notifies
	2. worker checks (finds nil)
	3. worker sleeps
	3. client pushes (worker missed the update)

	test(PQ): improve documentation and add test

	test(bitswap.decision.Engine): handling received messages

	License: MIT
	Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2015-01-18 15:09:54 -08:00
Brian Tiger Chow
0239379303 tests: add bench
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2015-01-18 15:09:54 -08:00
Brian Tiger Chow
cb1ef6e1e2 feat: add time to taskQueue
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

Conflicts:
	exchange/bitswap/decision/taskqueue.go
2015-01-18 15:09:54 -08:00
Brian Tiger Chow
d61ce41516 fix(bitswap/engine): get priority from wantlist 2015-01-18 15:09:54 -08:00
Brian Tiger Chow
6a580e50d3 doc 2015-01-18 15:09:53 -08:00
Brian Tiger Chow
c89b5ce824 wip Loggable func 2015-01-18 15:09:38 -08:00
Brian Tiger Chow
c70e717c7f Merge pull request #578 from jbenet/feat/core+repo
feat(core) replace config.Config with repo.Repo
2015-01-18 15:08:57 -08:00
Brian Tiger Chow
797aad9137 refactor(core) extract const 2015-01-18 14:41:43 -08:00
Brian Tiger Chow
b0596cd4ff rename coreio to coreunix 2015-01-18 14:41:43 -08:00
Brian Tiger Chow
a025fc9adf refactor(core) switch style to type assertions
@jbenet cool with this?
2015-01-18 14:41:43 -08:00