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>
Showing
Please register or sign in to comment