1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-09-10 03:42:21 +08:00

50 Commits

Author SHA1 Message Date
89f5cd4c94 introducing p2p pkg
I think it's time to move a lot of the peer-to-peer networking
but-not-ipfs-specific things into its own package: p2p.
This could in the future be split off into its own library.
The first thing to go is the peer.
2015-01-02 08:46:45 -08:00
07b064010e rewrite of provides to better select peers to send RPCs to
refactor test peer creation to be deterministic and reliable

a bit of cleanup trying to figure out TestGetFailure

add test to verify deterministic peer creation

switch put RPC over to use getClosestPeers

rm 0xDEADC0DE

fix queries not searching peer if its not actually closer
2015-01-02 07:42:07 +00:00
ccf6f79aa0 respect don contexteone 2014-12-24 03:24:28 -08:00
c84a714b16 peer change: peer.Peer -> peer.ID
this is a major refactor of the entire codebase
it changes the monolithic peer.Peer into using
a peer.ID and a peer.Peerstore.

Other changes:
- removed handshake3.
-	testutil vastly simplified peer
-	secio bugfix + debugging logs
-	testutil: RandKeyPair
-	backpressure bugfix: w.o.w.
-	peer: added hex enc/dec
-	peer: added a PeerInfo struct
  PeerInfo is a small struct used to pass around a peer with
 	a set of addresses and keys. This is not meant to be a
 	complete view of the system, but rather to model updates to
 	the peerstore. It is used by things like the routing system.
-	updated peer/queue + peerset
-	latency metrics
-	testutil: use crand for PeerID gen
 	RandPeerID generates random "valid" peer IDs. it does not
 	NEED to generate keys because it is as if we lost the key
 	right away. fine to read some randomness and hash it. to
 	generate proper keys and an ID, use:
 	  sk, pk, _ := testutil.RandKeyPair()
 	  id, _ := peer.IDFromPublicKey(pk)
 	Also added RandPeerIDFatal helper
- removed old spipe
- updated seccat
- core: cleanup initIdentity
- removed old getFromPeerList
2014-12-23 08:33:32 -08:00
de6eef9178 mv net/mock2 -> net/mock 2014-12-17 23:25:40 -08:00
dd33f6d9dc transition dht to mock2 2014-12-17 23:25:40 -08:00
ba323c3e48 make vendor 2014-12-17 23:25:38 -08:00
bc2d35fd4d Lots of fixes. DHT tests pass 2014-12-17 23:25:38 -08:00
41751b4938 Integrated new network into ipfs 2014-12-16 14:47:29 -08:00
ff1e672d5a dht/pb: changed PeersToPBPeers to set ConnectionType
Uses an inet.Dialer
2014-12-08 20:52:45 -08:00
94f04c7fcc net: add Connectedness var. 2014-12-08 20:52:45 -08:00
26e7656164 dht tests: dont introduce nil multiaddr
this is the type of assumption we shouldn't violate.
2014-12-08 20:52:45 -08:00
74eb03231d fix(core, peer) helpers to testutil, err handling
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 14:32:52 -08:00
d77c4bb5e0 refactor(peer): create peer through peerstore
for safety!

use mockpeer.WithID methods to create peers in tests

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
b8c96b2505 log(dht) add eventlog.Update event
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-25 06:16:39 -08:00
cb23d5b2ae fix validators and key prefix 2014-11-16 02:45:19 -08:00
33985c530e switch DHT entries over to be records, test currently fail 2014-11-16 02:45:19 -08:00
ed4a8eb782 chore(tests) add Short() -> SkipNow() to slowest tests
vanilla:
    21.57 real        45.14 user         8.51 sys

short:
    14.40 real        31.13 user         5.56 sys

License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-11-15 02:10:53 -08:00
23096de3c4 fix(net) pass contexts to dial peer 2014-11-05 10:04:20 -08:00
70f796afd6 fixed dht race #270 2014-11-05 09:26:17 -08:00
cea398b8a7 fix(all) log.Debug -> log.Debugf 2014-10-30 06:35:29 -07:00
321eb421e7 refactor(routing) use routing.ErrNotFound 2014-10-28 02:17:46 -07:00
29457214cb refactor(dht/pb) move proto to pb package 2014-10-25 04:13:28 -07:00
f7c1ed39e0 renamed datastore.go -> go-datastore 2014-10-21 15:10:58 -07:00
ac62d13e42 peerstore Put -> Add
Changed lots of peer use, and changed the peerstore to ensure
there is only ever one peer in use.

Fixed #174
2014-10-20 06:37:12 -07:00
9ca87fbb93 peer.Peer is now an interface
![](http://m.memegen.com/77n7dk.jpg)
2014-10-20 03:26:46 -07:00
18cfe02d38 dht tests with context 2014-10-18 04:28:26 -07:00
00516299dd Add test to test conncurrent connects between two peers 2014-10-18 04:28:25 -07:00
da95db3b0c update dht tests to new network interface 2014-10-10 14:52:59 -07:00
972c0f7b4b u.DOut -> log.Debug
and other logging switches. I kept the u.PErr and u.POut in cli
commands, as those do need to write raw output directly.
2014-10-09 04:50:22 -07:00
910a76e220 updated multiaddr use across codebase 2014-10-06 04:13:43 -07:00
e2a9c5de00 feat(net:service, routing) remove error return value 2014-09-24 23:35:36 -04:00
52cefb16cd Routing uses context now
@perfmode boom
2014-09-22 04:06:18 -07:00
aa29603923 dht tests pass again 2014-09-22 04:06:16 -07:00
a114e9cd12 better query processing (runner) 2014-09-22 04:05:22 -07:00
29322a24da tests compile 2014-09-22 04:05:21 -07:00
67e76c0acc godeps multiaddr + swarm move. 2014-09-22 04:05:12 -07:00
7968b45e58 vendor dependencies with godep
dependencies are vendored into Godeps/_workspace and commit versions are
recorded in Godeps.json

update datastore to e89f0511
update go.crypto
2014-09-09 22:39:42 -07:00
1fa7c07dc7 clean up merge of bren2010's crypto branch and merge into master 2014-09-08 18:17:57 +00:00
cfdf01d58a bitswap first working commit! 2014-08-26 14:24:51 -07:00
c5e7273cab refactor to allow use of mes_listener outside of dht 2014-08-23 22:25:50 -07:00
05b80afc35 fix swarm message type code, i beleive it works well now 2014-08-20 18:42:40 -07:00
afdac2ca3a add in message type routing to the swarm object. tired, needs cleanup. 2014-08-20 18:42:31 -07:00
060930c486 removed failure call i forgot to remove 2014-08-20 18:42:26 -07:00
c9c9420912 add some more tests in 2014-08-20 18:42:26 -07:00
a6851fa55b Made routing code pass golint. 2014-08-20 18:36:32 -07:00
b7a882be89 get implementation according to kademlia spec. 2014-08-15 09:39:38 -07:00
f09dba772c more tests and add in table filtering by peer latency 2014-08-11 20:11:23 -07:00
4cb2e1e07b add fauxNet to stand in for Swarm in tests to reproduce various network conditions 2014-08-11 09:06:20 -07:00
0a41abdd1d starting a new testing framework 2014-08-10 21:40:17 -07:00