- 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
-
- 19 Feb, 2015 1 commit
-
-
Jeromy authored
-
- 14 Feb, 2015 1 commit
-
-
Brian Tiger Chow authored
-
- 10 Feb, 2015 1 commit
-
-
Jeromy authored
-
- 24 Jan, 2015 1 commit
-
-
Brian Tiger Chow authored
-
- 22 Jan, 2015 1 commit
-
-
Brian Tiger Chow authored
The area above the lock was getting big. Moving this up to avoid mistakes down the road.
-
- 19 Jan, 2015 2 commits
-
-
Brian Tiger Chow authored
@whyrusleeping
-
Brian Tiger Chow authored
Before, the engine worker would pop a task and block on send to the bitswap worker even if the bitswap worker wasn't to receive. Since the task could have been invalidated during this blocking send, a small number of stale (already acquired) blocks would be send to partners. Now, tasks are only popped off of the queue when bitswap is ready to send them over the wire. This is accomplished by removing the outboxChanBuffer and implementing a two-phase communication sequence.
-
- 18 Jan, 2015 3 commits
-
-
Brian Tiger Chow authored
refactor: peerRequestQueue it's a mistake to make one queue to fit all. Go's lack of algebraic types turns a generalized queue into a monstrosity of type checking/casting. Better to have individual queues for individual purposes. Conflicts: exchange/bitswap/decision/bench_test.go exchange/bitswap/decision/tasks/task_queue.go fix(bitswap.decision.PRQ): if peers match, always return result of pri comparison fix(bitswap.decision.Engine): push to the queue before notifying TOCTOU bug 1. client notifies 2. worker checks (finds nil) 3. worker sleeps 3. client pushes (worker missed the update) test(PQ): improve documentation and add test test(bitswap.decision.Engine): handling received messages License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
-
Brian Tiger Chow authored
-
- 05 Jan, 2015 4 commits
-
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
Juan Batiz-Benet authored
-
- 02 Jan, 2015 1 commit
-
-
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.
-
- 23 Dec, 2014 1 commit
-
-
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
-
- 18 Dec, 2014 23 commits
-
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
addresses https://github.com/jbenet/go-ipfs/pull/438#discussion_r21953742 License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
this opens up the possibility of having multiple queues. And for all outgoing messages to be managed by the decision engine License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
If we put the lock next to the fields it protects, it can sometimes make it easier to reason about threadsafety. In this case, it reveals that the task queue (not threadsafe) isn't protected by the mutex, yet shared between the worker and callers. @whyrusleeping License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
it's only used in two places, but i think we've been using maps on IPFS types so much now that the specificity is no longer necessary License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
it seems to make sense since, in each place, the Key and Priority represent the same information b/c you know the saying... "It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures." License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
we've been using maps with peers long enough now that this probably is no longer necessary License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
the less bitswap has to know about, the easier it'll be for readers. (This now returns Messages.) License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
for clarity and to avoid errors, define a function License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
(merely by convention) License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
notice that moving the blockstore fetch into the manager removes the weird error handling case. License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-
Brian Tiger Chow authored
License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
-