Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(bitswap.decision.Engine) use PriorityQueue for Engine.Outbox #568

Merged
merged 8 commits into from
Jan 18, 2015

Commits on Jan 18, 2015

  1. wip Loggable func

    Brian Tiger Chow committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    c89b5ce View commit details
    Browse the repository at this point in the history
  2. doc

    Brian Tiger Chow committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    6a580e5 View commit details
    Browse the repository at this point in the history
  3. fix(bitswap/engine): get priority from wantlist

    Brian Tiger Chow committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    d61ce41 View commit details
    Browse the repository at this point in the history
  4. feat: add time to taskQueue

    License: MIT
    Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
    
    Conflicts:
    	exchange/bitswap/decision/taskqueue.go
    Brian Tiger Chow committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    cb1ef6e View commit details
    Browse the repository at this point in the history
  5. tests: add bench

    License: MIT
    Signed-off-by: Brian Tiger Chow <brian@perfmode.com>
    Brian Tiger Chow committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    0239379 View commit details
    Browse the repository at this point in the history
  6. feat(PQ)

    	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 committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    61e4300 View commit details
    Browse the repository at this point in the history
  7. update random

    Brian Tiger Chow committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    043b57f View commit details
    Browse the repository at this point in the history
  8. move PQ to thirdparty

    Brian Tiger Chow committed Jan 18, 2015
    Configuration menu
    Copy the full SHA
    76bea9b View commit details
    Browse the repository at this point in the history