- 30 Jan, 2016 3 commits
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 10 Nov, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 08 Nov, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 05 Nov, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 27 Oct, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 03 Oct, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 29 Sep, 2015 1 commit
-
-
Jeromy authored
Queries previously would sometimes only query three (alpha value) peers before halting the operation. This PR changes the number of peers grabbed from the routing table to start a query to K. Dht nodes would also not respond with enough peers, as per the kademlia paper, this has been changed to from 4 to 'K'. The query mechanism itself also was flawed in that it would pull all the peers it had yet to query out of the queue and 'start' the query for them. The concurrency rate limiting was done inside the 'queryPeer' method after the goroutine was spawned. This did not allow for peers receiver from query replies to be properly queried in order of distance. License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 15 Sep, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 09 Sep, 2015 1 commit
-
-
Jeromy authored
License: MIT Signed-off-by: Jeromy <jeromyj@gmail.com>
-
- 05 Jul, 2015 1 commit
-
-
rht authored
License: MIT Signed-off-by: rht <rhtbot@gmail.com>
-
- 01 Jun, 2015 1 commit
-
-
Jeromy authored
-
- 31 Mar, 2015 1 commit
-
-
Ho-Sheng Hsiao authored
- Modified Godeps/Godeps.json by hand - [TEST] Updated welcome docs hash to sharness - [TEST] Updated contact doc - [TEST] disabled breaking test (t0080-repo refs local)
-
- 07 Mar, 2015 2 commits
-
-
Juan Batiz-Benet authored
this time just move to goprocess
-
Juan Batiz-Benet authored
-
- 25 Feb, 2015 1 commit
-
-
Henry authored
- 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
-
- 03 Feb, 2015 2 commits
-
-
Juan Batiz-Benet authored
We are leaking peer queues: http://gateway.ipfs.io/ipfs/QmQxVA48CzVwwNYExUiFe56VrUBn8u368ZfchnCLoc7fSC/moriarty
-
Juan Batiz-Benet authored
This addr manager should seriously help with the addrsplosion problem.
-
- 30 Jan, 2015 1 commit
-
-
Brian Tiger Chow authored
the debug log is flooded with pages upon pages of... we've gotta be more judicious with our use of console logs. i'm sure there's interesting actionable information in here. let's use the console logging more like a sniper rifle and less like birdshot. feel free to revert if there are specific critical statements in this changeset 03:05:24.096 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) queryPeer(<peer.ID QmSoLp>) QUERY worker for: <peer.ID QmSoLp> - not found, and no closer peers. prefixlog.go:107 03:05:24.096 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) queryPeer(<peer.ID QmSoLp>) completed prefixlog.go:107 03:05:24.096 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) queryPeer(<peer.ID QmSoLp>) finished prefixlog.go:107 03:05:24.096 DEBUG dht: dht(<peer.ID QmWGN3>) FindProviders(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK) Query(<peer.ID QmSoLn>) 0 provider entries prefixlog.go:107 03:05:24.096 DEBUG dht: dht(<peer.ID QmWGN3>) FindProviders(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK) Query(<peer.ID QmSoLn>) 0 provider entries decoded prefixlog.go:107 03:05:24.096 DEBUG dht: dht(<peer.ID QmWGN3>) FindProviders(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK) Query(<peer.ID QmSoLn>) got closer peers: 0 [] prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>) FindProviders(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK) Query(<peer.ID QmSoLn>) end prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) queryPeer(<peer.ID QmSoLn>) query finished prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) queryPeer(<peer.ID QmSoLn>) QUERY worker for: <peer.ID QmSoLn> - not found, and no closer peers. prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) queryPeer(<peer.ID QmSoLn>) completed prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) queryPeer(<peer.ID QmSoLn>) finished prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) all peers ended prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) spawnWorkers end prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) failure: %s routing: not found prefixlog.go:107 03:05:24.097 DEBUG dht: dht(<peer.ID QmWGN3>).Query(QmXvrpUZXCYaCkf1jfaQTJASS91xd47Yih2rnVC5YbFAAK).Run(3) end prefixlog.go:107
-
- 24 Jan, 2015 3 commits
-
-
Brian Tiger Chow authored
-
Jeromy authored
-
Juan Batiz-Benet authored
-
- 23 Jan, 2015 1 commit
-
-
Juan Batiz-Benet authored
When some queries finished, but we got no result, it should be a simple NotFoundError. Only when every single query ended in error do we externalize those to the client, in case something major is going wrong
-
- 18 Jan, 2015 1 commit
-
-
Brian Tiger Chow authored
-
- 16 Jan, 2015 1 commit
-
-
Juan Batiz-Benet authored
mitigated adding our own addresses where received from peers see #573
-
- 05 Jan, 2015 1 commit
-
-
Juan Batiz-Benet authored
-
- 02 Jan, 2015 4 commits
-
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
The net package is the next to move. It will be massaged a bit still to fix the Network / "NetworkBackend" conflict.
-
Juan Batiz-Benet authored
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.
-
Jeromy authored
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
-
- 24 Dec, 2014 3 commits
-
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
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
-
- 23 Dec, 2014 2 commits
-
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
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
-
- 09 Dec, 2014 1 commit
-
-
Juan Batiz-Benet authored
-
- 05 Nov, 2014 1 commit
-
-
Brian Tiger Chow authored
-
- 31 Oct, 2014 1 commit
-
-
Jeromy authored
-
- 30 Oct, 2014 1 commit
-
-
Brian Tiger Chow authored
-