319 Commits

Author SHA1 Message Date
Juan Batiz-Benet
49b95f54ec added cancel func calls previously ignored 2015-03-07 09:31:46 -08:00
Jeromy
1800590cbe error -> debug 2015-02-26 22:05:51 -08:00
Jeromy
50738e56bd move signing options into a validation checker struct 2015-02-26 22:05:03 -08:00
Jeromy
a68a1e814a make signing dht put records optional 2015-02-26 22:05:03 -08:00
Juan Batiz-Benet
bb48f1161c Merge pull request #819 from jbenet/x_net_context_leeroy
update context imports to golang.org/x/net
2015-02-25 03:17:28 -08:00
Henry
9bc5b3d5d3 rewrote import paths of go.net/context to use golang.org/x/context
- updated go-ctxgroup and goprocess
ctxgroup: AddChildGroup was changed to AddChild. Used in two files:
- p2p/net/mock/mock_net.go
- routing/dht/dht.go

- updated context from hg repo to git
prev. commit in hg was ad01a6fcc8a19d3a4478c836895ffe883bd2ceab. (context: make parentCancelCtx iterative)
represents commit 84f8955a887232b6308d79c68b8db44f64df455c in git repo

- updated context to master (b6fdb7d8a4ccefede406f8fe0f017fb58265054c)

Aaron Jacobs (2):
net/context: Don't accept a context in the DoSomethingSlow example.
context: Be clear that users must cancel the result of WithCancel.

Andrew Gerrand (1):
go.net: use golang.org/x/... import paths

Bryan C. Mills (1):
net/context: Don't leak goroutines in Done example.

Damien Neil (1):
context: fix removal of cancelled timer contexts from parent

David Symonds (2):
context: Fix WithValue example code.
net: add import comments.

Sameer Ajmani (1):
context: fix TestAllocs to account for ints in interfaces
2015-02-25 11:58:19 +01:00
Jeromy
66376057f8 error -> debug 2015-02-23 21:09:16 -08:00
Jeromy
d88233353f add put and get dht commands to cli 2015-02-23 21:09:16 -08:00
Juan Batiz-Benet
202d58a73a dht: use our most recent Addrs 2015-02-02 21:04:13 -08:00
Juan Batiz-Benet
5ee251d201 dht: removing addrs sanity check
About to allow dht to start without local addresses. this is
so that we can initialize the dht and sign it up to listen
on the muxer, before our node starts accepting incoming connections.
otherwise, we lose some (we're observing this happening already).

I looked through the dht's use of the peerstore, and the check here
doesnt seem to be as important as the panic implies. I believe the
panic was used for debugging weird "dont have any address" conditions
we had earlier.
2015-01-30 20:37:52 -08:00
Juan Batiz-Benet
243c85a4e4 dropped down log.Errors 2015-01-26 19:13:44 -08:00
Juan Batiz-Benet
d5b4eede7e routing/dht: adjust routing table on peer conn/disc 2015-01-24 09:13:44 -08:00
Brian Tiger Chow
7429f19731 remove prefix logger 2015-01-24 00:30:56 -08:00
Juan Batiz-Benet
81867969d2 routing/dht: periodic bootstrapping #572 2015-01-23 02:08:28 -08:00
Juan Batiz-Benet
2c442e8b0b 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
c1596f4ab6 move dht record code into new package 2015-01-19 08:07:58 +00:00
Jeromy
c088dcb1b7 some comments 2015-01-19 08:06:51 +00:00
Jeromy
71f6e2552f 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
9cc5c86e2a move generic packages to thirdparty (see thirdparty/README.md) 2015-01-18 14:04:45 -08:00
Jeromy
ac9e3a3377 rewrite as single line defer logs 2015-01-15 04:45:34 +00:00
Jeromy
074439d419 starting to move important events over to EventBegin/Done 2015-01-15 04:17:17 +00:00
Juan Batiz-Benet
93e4b73b1a p2p/net/swarm: do not usre link local addrs 2015-01-12 19:15:02 -08:00
Jeromy
f2669289fa Address PR comments and add in more user feedback 2015-01-10 07:27:48 +00:00
Juan Batiz-Benet
41d6006078 dht/bootstrap: (optional) parallelism + error on peer
This also makes it an Error to find a peer.
2015-01-05 06:51:38 -08:00
Juan Batiz-Benet
18641a4447 dht: bootstrap query logging 2015-01-05 06:44:19 -08:00
Brian Tiger Chow
9803fb8299 feat(core) dht.Bootstrap
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2015-01-05 06:25:25 -08:00
Juan Batiz-Benet
92c24c08ae dht: even more logging. 2015-01-05 04:55:02 -08:00
Juan Batiz-Benet
719cd7c51c swap net2 -> net 2015-01-02 08:46:46 -08:00
Juan Batiz-Benet
6bc26e01f3 net -> p2p/net
The net package is the next to move. It will be massaged
a bit still to fix the Network / "NetworkBackend" conflict.
2015-01-02 08:46:45 -08:00
Juan Batiz-Benet
2b086634b2 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
Jeromy
0408e60ef6 some better logging and cleanup 2015-01-02 07:42:08 +00:00
Jeromy
0547622e00 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
Juan Batiz-Benet
d562a9bdee dht/dht_test: bootstrap synchronously. fares better. 2014-12-24 03:46:45 -08:00
Juan Batiz-Benet
2ae32b8c43 dht: bootstrap query constants 2014-12-24 03:44:03 -08:00
Juan Batiz-Benet
b408265be0 dht bootstrap err check fix + logging 2014-12-24 02:10:52 -08:00
Juan Batiz-Benet
032ce68999 added bootstrap logging 2014-12-23 08:48:58 -08:00
Juan Batiz-Benet
a367a22bbe dht: bit nicer logging 2014-12-23 08:46:30 -08:00
Juan Batiz-Benet
3b37c43171 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
Jeromy
b1e5d058ec change Provide RPC to not wait for an ACK, improves performance of 'Add' operations 2014-12-17 23:44:41 -08:00
Juan Batiz-Benet
cc3c277479 Lots of fixes. DHT tests pass 2014-12-17 23:25:38 -08:00
Juan Batiz-Benet
fac6fe1e73 Integrated new network into ipfs 2014-12-16 14:47:29 -08:00
Jeromy
e10f49750a remove multilayered routing table from the DHT (for now) 2014-12-11 06:08:53 +00:00
Juan Batiz-Benet
3dd6ee1f86 dht: update to use net.LocalPeer 2014-12-08 20:52:45 -08:00
Juan Batiz-Benet
e1b5933641 dht/pb: changed PeersToPBPeers to set ConnectionType
Uses an inet.Dialer
2014-12-08 20:52:45 -08:00
Juan Batiz-Benet
fb367a8619 dht: changed msgs, include multiple addrs + conn type
See https://github.com/jbenet/go-ipfs/issues/153#issuecomment-63350535
2014-12-08 20:52:34 -08:00
Juan Batiz-Benet
1383f8edfc dht: linting 2014-12-08 19:28:05 -08:00
Brian Tiger Chow
2c1700b45d refactor(dht) remove extraneous return value
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 16:28:22 -08:00
Brian Tiger Chow
6dc7dd5271 refactor(peerstore) s/Get/FindOrCreate
License: MIT
Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
2014-12-08 02:10:42 -08:00
Brian Tiger Chow
add43e52a4 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
40c2719146 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