1. 31 Mar, 2015 1 commit
  2. 18 Jan, 2015 1 commit
    • Brian Tiger Chow's avatar
      feat(PQ) · 3b397e8e
      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: default avatarBrian Tiger Chow <brian@perfmode.com>
      3b397e8e