@cryptotaxi247 / kubo / commits / 175513e28

refactor(bs/decision.Engine): pass in Entry

License: MIT Signed-off-by: Brian Tiger Chow <brian@perfmode.com>

Brian Tiger Chow committed Dec 17, 2014 at 02:24 UTC 175513e2811950c44d45c22aebe1868f2dbfe60b
2 files changed +7 -10
exchange/bitswap/decision/engine.go
+2 -2
@@ -129,7 +129,7 @@ func (e *Engine) MessageReceived(p peer.Peer, m bsmsg.BitSwapMessage) error {
129 l.Wants(entry.Key, entry.Priority)
130 if exists, err := e.bs.Has(entry.Key); err == nil && exists {
131 newWorkExists = true
132 - e.peerRequestQueue.Push(entry.Key, entry.Priority, p)
132 + e.peerRequestQueue.Push(entry.Entry, p)
133 }
134 }
135 }
@@ -140,7 +140,7 @@ func (e *Engine) MessageReceived(p peer.Peer, m bsmsg.BitSwapMessage) error {
140 for _, l := range e.ledgerMap {
141 if l.WantListContains(block.Key()) {
142 newWorkExists = true
143 - e.peerRequestQueue.Push(block.Key(), 1, l.Partner)
143 + e.peerRequestQueue.Push(wl.Entry{block.Key(), 1}, l.Partner)
144 }
145 }
146 }
exchange/bitswap/decision/taskqueue.go
+5 -8
@@ -28,22 +28,19 @@ type task struct {
28 }
29
30 // Push currently adds a new task to the end of the list
31 -func (tl *taskQueue) Push(block u.Key, priority int, to peer.Peer) {
32 - if task, ok := tl.taskmap[taskKey(to, block)]; ok {
31 +func (tl *taskQueue) Push(entry wantlist.Entry, to peer.Peer) {
32 + if task, ok := tl.taskmap[taskKey(to, entry.Key)]; ok {
33 // TODO: when priority queue is implemented,
34 // rearrange this task
35 - task.Entry.Priority = priority
35 + task.Entry.Priority = entry.Priority
36 return
37 }
38 task := &task{
39 - Entry: wantlist.Entry{
40 - Key: block,
41 - Priority: priority,
42 - },
39 + Entry: entry,
40 Target: to,
41 }
42 tl.tasks = append(tl.tasks, task)
46 - tl.taskmap[taskKey(to, block)] = task
43 + tl.taskmap[taskKey(to, entry.Key)] = task
44 }
45
46 // Pop 'pops' the next task to be performed. Returns nil no task exists.