Commit Graph

2427 Commits

Author SHA1 Message Date
Brian Tiger Chow
e017d6edc6 refactor(bitswap/testnet) slim down interface
so it'll be easier to create another implementation using the new
mocknet
2014-12-24 09:31:17 -05:00
Brian Tiger Chow
12b92f03f1 add RandPeerOrFatal test helper 2014-12-24 09:31:17 -05:00
Brian Tiger Chow
b551e45ae9 use testutil peer in sess 2014-12-24 09:31:17 -05:00
Brian Tiger Chow
a85aa9b5da refactor: rename testutil func 2014-12-24 09:31:17 -05:00
Brian Tiger Chow
81a67338f1 fix(bitswap) remove peerstore 2014-12-24 09:31:17 -05:00
Brian Tiger Chow
b31f728188 feat(testutil) add testutil.Peer shim 2014-12-24 09:31:17 -05:00
Brian Tiger Chow
c933d439b7 misc docs and fmting 2014-12-24 09:31:17 -05:00
Juan Batiz-Benet
8d8a1dc7e1 Merge pull request #473 from jbenet/dht-test-providers
dht fixes
2014-12-24 06:17:12 -08:00
Juan Batiz-Benet
0938471d1c ctxio: fix buffer of 1 so goroutine exits when io completes. 2014-12-24 05:50:05 -08:00
Juan Batiz-Benet
989d3d4ce5 dht/test skip bootstrap test when short 2014-12-24 05:39:48 -08:00
Juan Batiz-Benet
60c869d401 dht/test: providers test id compare 2014-12-24 04:23:15 -08:00
Juan Batiz-Benet
99636b571c net/id: handle error case 2014-12-24 04:22:51 -08:00
Juan Batiz-Benet
923c082d66 dht: cleaned up dht_test.
TestProversMany still fails
2014-12-24 03:48:02 -08:00
Juan Batiz-Benet
57510d2fec dht/dht_test: bootstrap synchronously. fares better. 2014-12-24 03:46:45 -08:00
Juan Batiz-Benet
618097d80e dht/query: log when dialing a closerpeer 2014-12-24 03:45:20 -08:00
Juan Batiz-Benet
8adda0fffc dht: bootstrap query constants 2014-12-24 03:44:03 -08:00
Juan Batiz-Benet
e630ca6078 dht: removing extra newlines 2014-12-24 03:42:43 -08:00
Juan Batiz-Benet
b5cbc8b6fa dht_test: better bootstrapping logging 2014-12-24 03:41:13 -08:00
Juan Batiz-Benet
900c1fbfa2 net/id: when dup id, wait on it. 2014-12-24 03:38:44 -08:00
Juan Batiz-Benet
ef0c25f463 dht bootstrap test: rounds. do nothing
odd behavior: only one dht (the last one) is seeing
changes to its routing table.
2014-12-24 03:24:52 -08:00
Juan Batiz-Benet
ccf6f79aa0 respect don contexteone 2014-12-24 03:24:28 -08:00
Juan Batiz-Benet
f8c523fc3b bootstrap test 2014-12-24 02:20:11 -08:00
Juan Batiz-Benet
cdb461d2a9 dht: update on every received message
i made a separate function because we may want to update our
routing table based on "closer peers". maybe not-- these could
all be lies.
2014-12-24 02:20:11 -08:00
Juan Batiz-Benet
61cdef3570 dht/query: fix important panic
Withe queries (particularly providers), it was possible to
exit the query runner's Run BEFORE all its children were done,
because the runner itself only listened to the context. This
introduced the possibility of a panic (you can go check it
out by running the TestProvidersMany test on dht_test in commits
before this one).  Thankfully, ctxgroup saved the day with
almost _zero_ changes to the sync flow, and now we have the
guarantee that the query runner will only exit if all its
children are done. ❤️

Conflicts:
	routing/dht/query.go
2014-12-24 02:13:38 -08:00
Juan Batiz-Benet
a4021eb433 ctxio -- io with a context.
This commit introduces a reader and writer that respect
contexts. Warning: careful how you use them. Returning
leaves a goroutine reading until the read finishes.
2014-12-24 02:10:56 -08:00
Juan Batiz-Benet
0013415db8 net/interface: move more to Dialer 2014-12-24 02:10:56 -08:00
Juan Batiz-Benet
7d7e051101 dht bootstrap err check fix + logging 2014-12-24 02:10:52 -08:00
Juan Batiz-Benet
596602f37f routing table: better printing (see bkts) 2014-12-24 02:09:06 -08:00
Juan Batiz-Benet
ea2706c698 dht bugfix: unlock on print 2014-12-24 01:50:00 -08:00
Juan Batiz-Benet
04f9805d5d dht_test large providers test 2014-12-24 01:49:55 -08:00
Juan Batiz-Benet
c43e8fa35b fixing race in testutil port 2014-12-23 17:59:35 -08:00
Juan Batiz-Benet
fd2875f2ed fixing race in swarm 2014-12-23 17:59:24 -08:00
Juan Batiz-Benet
32589ad4bb Merge pull request #466 from jbenet/peer-restrict
The Peer is Dead. Long live the ID
2014-12-23 09:44:27 -08:00
Juan Batiz-Benet
a5018fcc0b net/mock: interface addresses 2014-12-23 09:23:32 -08:00
Brian Tiger Chow
bd45adfb89 chore(bitswap) remove Peerstore() methods from bitswap.Network interface 2014-12-23 09:22:17 -08:00
Brian Tiger Chow
c34132e080 refactor(bitswap) change PeerInfo to ID in bitswap package
@jbenet @whyrusleeping

This commit replaces peer.PeerInfo with peer.ID in the bitswap package
2014-12-23 09:21:08 -08:00
Brian Tiger Chow
27dc9594ba refactor(bitswap) bitswap.Network now abstracts ipfs.Network + ipfs.Routing
@jbenet @whyrusleeping

the next commit will change bitswap.Network.FindProviders to only deal
with IDs
2014-12-23 09:19:21 -08:00
Brian Tiger Chow
c6294646e9 fix(bitswap) always add addresses 2014-12-23 09:17:40 -08:00
Brian Tiger Chow
070b633df8 style(bitswap) rename to network 2014-12-23 09:16:00 -08:00
Brian Tiger Chow
60f3a874c2 feat(bitswap/network) expose peerstore 2014-12-23 09:14:54 -08:00
Brian Tiger Chow
a225568ff6 style(bitswap) public methods at top 2014-12-23 09:13:17 -08:00
Brian Tiger Chow
4ab4da7e2b style(bitswap) rename 2014-12-23 09:10:44 -08:00
Brian Tiger Chow
fb75184c35 fix(bitswap) always use prvivate send method to send
cc @whyrusleeping
2014-12-23 09:09:34 -08:00
Brian Tiger Chow
d0d220f9de fix(bitswap) always dial 2014-12-23 09:08:11 -08:00
Brian Tiger Chow
55c8f8f505 Revert "bitswap: network interface changed"
This reverts commit bf88f1aec5.
2014-12-23 09:06:44 -08:00
Juan Batiz-Benet
d970f538e5 bitswap: network interface changed
Had to change the network interface from DialPeer(peer.ID) to
DialPeer(peer.PeerInfo), so that addresses of a provider are
handed to the network.

@maybebtc and I are discussing whether this should go all the
way down to the network, or whether the network _should always
work_ with just an ID (which means the network needs to be
able to resolve ID -> Addresses, using the routing system.
This latter point might mean that "routing" might need to
break down into subcomponents. It's a bit sketchy that
the Network would become smarter than just dial/listen and
I/O, but maybe there's a distinction between net.Network,
and something like a peernet.Network that has routing
built in...)
2014-12-23 09:05:15 -08:00
Juan Batiz-Benet
a7eb52a7fa dht: helpful debugging for no closer peers 2014-12-23 09:03:26 -08:00
Juan Batiz-Benet
64a4abcd6c listen addresses: add Interface addresses
network.ListenAddresses() are general.
Interface addresses are specific.
2014-12-23 09:01:54 -08:00
Juan Batiz-Benet
0dbd86c4f8 connectedness test timing 2014-12-23 09:00:43 -08:00
Brian Tiger Chow
3f9c1263ec fix: data race in test
https://build.protocol-dev.com/job/race/9352/console

@jbenet @whyrusleeping

pinging you guys to spread awareness about the delay.D type for
configurable delays

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-23 08:59:40 -08:00