Single-purpose Worker functions

This commit is contained in:
John Firebaugh
2015-06-08 20:08:48 -04:00
parent f14e4c67fd
commit eee02425fa
7 changed files with 126 additions and 102 deletions

View File

@@ -42,19 +42,20 @@ void RasterTileData::request(Worker& worker,
}
state = State::loaded;
data = res.data;
workRequest = worker.send([this] {
if (getState() != State::loaded) {
workRequest = worker.parseRasterTile(bucket, res.data, [this, callback] (bool result) {
if (state != State::loaded) {
return;
}
if (bucket.setImage(data)) {
if (result) {
state = State::parsed;
} else {
state = State::invalid;
}
}, callback);
callback();
});
});
}