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.