summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2016-05-13 15:41:22 +0200
committerKonstantin Käfer <mail@kkaefer.com>2016-05-13 17:24:22 +0200
commitcd65a43855f33555eca5f3e3ad5d37661253209f (patch)
treed83b63f4baeb3672c4909a08b14783c717b74681 /src
parentc1dde52c73061a49d576454a9ab4739e72561ca6 (diff)
downloadqtlocation-mapboxgl-cd65a43855f33555eca5f3e3ad5d37661253209f.tar.gz
[core] move from microsecond precision timestamp to integer second precision
Diffstat (limited to 'src')
-rw-r--r--src/mbgl/renderer/debug_bucket.cpp6
-rw-r--r--src/mbgl/renderer/debug_bucket.hpp8
-rw-r--r--src/mbgl/storage/resource.cpp10
-rw-r--r--src/mbgl/tile/geometry_tile.hpp4
-rw-r--r--src/mbgl/tile/tile_data.hpp4
-rw-r--r--src/mbgl/tile/vector_tile_data.cpp4
-rw-r--r--src/mbgl/util/chrono.cpp12
-rw-r--r--src/mbgl/util/http_header.cpp8
-rw-r--r--src/mbgl/util/http_header.hpp2
9 files changed, 32 insertions, 26 deletions
diff --git a/src/mbgl/renderer/debug_bucket.cpp b/src/mbgl/renderer/debug_bucket.cpp
index dc6cd69607..1ab9bd05ad 100644
--- a/src/mbgl/renderer/debug_bucket.cpp
+++ b/src/mbgl/renderer/debug_bucket.cpp
@@ -10,7 +10,11 @@
using namespace mbgl;
-DebugBucket::DebugBucket(const OverscaledTileID& id, const TileData::State state_, optional<SystemTimePoint> modified_, optional<SystemTimePoint> expires_, MapDebugOptions debugMode_)
+DebugBucket::DebugBucket(const OverscaledTileID& id,
+ const TileData::State state_,
+ optional<Timestamp> modified_,
+ optional<Timestamp> expires_,
+ MapDebugOptions debugMode_)
: state(state_),
modified(std::move(modified_)),
expires(std::move(expires_)),
diff --git a/src/mbgl/renderer/debug_bucket.hpp b/src/mbgl/renderer/debug_bucket.hpp
index e824701fa6..f26b7b79ec 100644
--- a/src/mbgl/renderer/debug_bucket.hpp
+++ b/src/mbgl/renderer/debug_bucket.hpp
@@ -18,16 +18,16 @@ class GLObjectStore;
class DebugBucket : private util::noncopyable {
public:
DebugBucket(const OverscaledTileID& id, TileData::State,
- optional<SystemTimePoint> modified,
- optional<SystemTimePoint> expires,
+ optional<Timestamp> modified,
+ optional<Timestamp> expires,
MapDebugOptions);
void drawLines(PlainShader&, gl::GLObjectStore&);
void drawPoints(PlainShader&, gl::GLObjectStore&);
const TileData::State state;
- const optional<SystemTimePoint> modified;
- const optional<SystemTimePoint> expires;
+ const optional<Timestamp> modified;
+ const optional<Timestamp> expires;
const MapDebugOptions debugMode;
private:
diff --git a/src/mbgl/storage/resource.cpp b/src/mbgl/storage/resource.cpp
index d633ae195e..3f5b4a3f71 100644
--- a/src/mbgl/storage/resource.cpp
+++ b/src/mbgl/storage/resource.cpp
@@ -48,7 +48,12 @@ Resource Resource::glyphs(const std::string& urlTemplate, const FontStack& fontS
};
}
-Resource Resource::tile(const std::string& urlTemplate, float pixelRatio, int32_t x, int32_t y, int8_t z) {
+Resource Resource::tile(const std::string& urlTemplate,
+ float pixelRatio,
+ int32_t x,
+ int32_t y,
+ int8_t z,
+ Necessity necessity) {
bool supportsRatio = urlTemplate.find("{ratio}") != std::string::npos;
return Resource {
Resource::Kind::Tile,
@@ -76,7 +81,8 @@ Resource Resource::tile(const std::string& urlTemplate, float pixelRatio, int32_
x,
y,
z
- }
+ },
+ necessity
};
}
diff --git a/src/mbgl/tile/geometry_tile.hpp b/src/mbgl/tile/geometry_tile.hpp
index 676c18e4c9..20efc3c374 100644
--- a/src/mbgl/tile/geometry_tile.hpp
+++ b/src/mbgl/tile/geometry_tile.hpp
@@ -64,8 +64,8 @@ public:
using Callback = std::function<void (std::exception_ptr,
std::unique_ptr<GeometryTile>,
- optional<SystemTimePoint> modified,
- optional<SystemTimePoint> expires)>;
+ optional<Timestamp> modified,
+ optional<Timestamp> expires)>;
/*
* Monitor the tile held by this object for changes. When the tile is loaded for the first time,
* or updates, the callback is executed. If an error occurs, the first parameter will be set.
diff --git a/src/mbgl/tile/tile_data.hpp b/src/mbgl/tile/tile_data.hpp
index b608c026ad..e6af71f14e 100644
--- a/src/mbgl/tile/tile_data.hpp
+++ b/src/mbgl/tile/tile_data.hpp
@@ -107,8 +107,8 @@ public:
void dumpDebugLogs() const;
const OverscaledTileID id;
- optional<SystemTimePoint> modified;
- optional<SystemTimePoint> expires;
+ optional<Timestamp> modified;
+ optional<Timestamp> expires;
// Contains the tile ID string for painting debug information.
std::unique_ptr<DebugBucket> debugBucket;
diff --git a/src/mbgl/tile/vector_tile_data.cpp b/src/mbgl/tile/vector_tile_data.cpp
index 77e314e3b9..64236c4ce8 100644
--- a/src/mbgl/tile/vector_tile_data.cpp
+++ b/src/mbgl/tile/vector_tile_data.cpp
@@ -31,8 +31,8 @@ VectorTileData::VectorTileData(const OverscaledTileID& id_,
state = State::loading;
tileRequest = monitor->monitorTile([callback, this](std::exception_ptr err,
std::unique_ptr<GeometryTile> tile,
- optional<SystemTimePoint> modified_,
- optional<SystemTimePoint> expires_) {
+ optional<Timestamp> modified_,
+ optional<Timestamp> expires_) {
if (err) {
callback(err);
return;
diff --git a/src/mbgl/util/chrono.cpp b/src/mbgl/util/chrono.cpp
index df5175b396..55b8a86e39 100644
--- a/src/mbgl/util/chrono.cpp
+++ b/src/mbgl/util/chrono.cpp
@@ -11,8 +11,8 @@ static const char *week[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
static const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
-std::string rfc1123(SystemTimePoint timePoint) {
- std::time_t time = SystemClock::to_time_t(timePoint);
+std::string rfc1123(Timestamp timestamp) {
+ std::time_t time = std::chrono::system_clock::to_time_t(timestamp);
std::tm info;
gmtime_r(&time, &info);
char buffer[30];
@@ -21,8 +21,8 @@ std::string rfc1123(SystemTimePoint timePoint) {
return buffer;
}
-std::string iso8601(SystemTimePoint timePoint) {
- std::time_t time = SystemClock::to_time_t(timePoint);
+std::string iso8601(Timestamp timestamp) {
+ std::time_t time = std::chrono::system_clock::to_time_t(timestamp);
std::tm info;
gmtime_r(&time, &info);
char buffer[30];
@@ -30,8 +30,8 @@ std::string iso8601(SystemTimePoint timePoint) {
return buffer;
}
-SystemTimePoint parseTimePoint(const char * timePoint) {
- return SystemClock::from_time_t(parse_date(timePoint));
+Timestamp parseTimestamp(const char* timestamp) {
+ return std::chrono::time_point_cast<Seconds>(std::chrono::system_clock::from_time_t(parse_date(timestamp)));
}
} // namespace util
diff --git a/src/mbgl/util/http_header.cpp b/src/mbgl/util/http_header.cpp
index cfc43991b7..dceb331a3f 100644
--- a/src/mbgl/util/http_header.cpp
+++ b/src/mbgl/util/http_header.cpp
@@ -25,12 +25,8 @@ CacheControl CacheControl::parse(const std::string& value) {
return result;
}
-optional<SystemTimePoint> CacheControl::toTimePoint() const {
- // Round trip through time_t to truncate fractional seconds.
- return maxAge
- ? SystemClock::from_time_t(SystemClock::to_time_t(
- SystemClock::now() + std::chrono::seconds(*maxAge)))
- : optional<SystemTimePoint>();
+optional<Timestamp> CacheControl::toTimePoint() const {
+ return maxAge ? util::now() + Seconds(*maxAge) : optional<Timestamp>{};
}
} // namespace http
diff --git a/src/mbgl/util/http_header.hpp b/src/mbgl/util/http_header.hpp
index 1dc8498de0..b5a6403782 100644
--- a/src/mbgl/util/http_header.hpp
+++ b/src/mbgl/util/http_header.hpp
@@ -16,7 +16,7 @@ public:
optional<uint64_t> maxAge;
bool mustRevalidate = false;
- optional<SystemTimePoint> toTimePoint() const;
+ optional<Timestamp> toTimePoint() const;
};
} // namespace http