[core] reparse tiles when new data arrives

We're now reparsing tiles when they expire. We're also swapping out buckets atomically to avoid flickering data; i.e. we're displaying the old data as long as we don't have a new parsed bucket for that layer yet. The parsed buckets now live in the *TileData objects rather than in the TileWorker; only partially parsed == pending buckets will remain in the TileWorker. Once they're parsed, they're moved to the *TileData object.
This commit is contained in:
Konstantin Käfer
2015-10-20 12:19:11 +02:00
parent 5173bf1bb8
commit c0c554e36f
27 changed files with 467 additions and 289 deletions

View File

@@ -38,6 +38,10 @@ public:
}
~MockMapContext() {
cleanup();
}
void cleanup() {
style_.reset();
}
@@ -118,6 +122,7 @@ void runTestCase(MockFileSource::Type type,
// Needed because it will make the Map thread
// join and cease logging after this point.
context->invoke(&MockMapContext::cleanup);
context.reset();
uint32_t match = 0;