summaryrefslogtreecommitdiff
path: root/src/solvers/gpu/output.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/solvers/gpu/output.rs')
-rw-r--r--src/solvers/gpu/output.rs19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/solvers/gpu/output.rs b/src/solvers/gpu/output.rs
index 4e52ab4..9cbef1a 100644
--- a/src/solvers/gpu/output.rs
+++ b/src/solvers/gpu/output.rs
@@ -30,15 +30,18 @@ impl InBuffer {
.expect("Channel to Output Daemon broke")
{
Message::ResultMessage(results) => {
- if let Some(result_walls) = self.row_requests.get(&results.id) {
- return Some(Self::calc_results(
- results.valid_walls().as_ref(),
- result_walls,
- ));
- } else {
- if results.data.iter().any(|x| *x != 0) {
- self.results_requests.insert(results.id, results);
+ if results.data.iter().any(|x| *x != 0) {
+ println!("Horay results!");
+ if let Some(result_walls) = self.row_requests.get(&results.id) {
+ return Some(Self::calc_results(
+ results.valid_walls().as_ref(),
+ result_walls,
+ ));
} else {
+ self.results_requests.insert(results.id, results);
+ }
+ } else {
+ if self.row_requests.remove(&results.id).is_none() {
self.banned_requests.insert(results.id);
}
}