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
...

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