#include #include #include #include #include namespace mbgl { RasterTileWorker::RasterTileWorker(const ActorRef&, ActorRef parent_) : parent(std::move(parent_)) {} void RasterTileWorker::parse(const std::shared_ptr& data, uint64_t correlationID) { if (!data) { parent.invoke(&RasterTile::onParsed, nullptr, correlationID); // No data; empty tile. return; } try { auto bucket = std::make_unique(decodeImage(*data)); parent.invoke(&RasterTile::onParsed, std::move(bucket), correlationID); } catch (...) { parent.invoke(&RasterTile::onError, std::current_exception(), correlationID); } } } // namespace mbgl