When a peer is performing a background and foreground fetch from two different peers, the background fetch result was being used as the result for the foreground fetch. This results in inconsistencies, since the foreground peer has new updates from themselves. The reason for this issue was the fetches that were queued were not correctly being handled, and the other peer's results were being returned instead. This fixes the queueing and dequeueing by ensuring that the queued fetch occurs, passing the correct result channel. This fetch will then be subsequently dequeued correctly and the foreground fetch obtains the correct result. Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com> X-Clacks-Overhead: GNU Terry Pratchett |
||
|---|---|---|
| .. | ||
| src | ||
| Cargo.toml | ||
| Dockerfile | ||