| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Previously, we used the existence of a `prior*` field in the Resource object as an indication for whether we should consult the cache or not. However, this is prone to error, since a failed cache lookup won't set any prior fields. Therefore, we manually set `priorExpires` to 0. This in turn triggered another bug where generated wrong expiration timestamps when the server response we got was expired (or expired between sending and receiving).
This commit changes the flags so that we can now explicitly request CacheOnly/NetworkOnly (or All) loading methods, rather than the implicit Optional/Required naming scheme.
|
|
|
|
| |
We don't want to link it into the node bindings, so keep it in a separate target
|
|
|
|
| |
This functionality is used for testing to ensure correct offline behavior when connectivity is missing.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Based on the actor model, can be considered safer to use since
we don't need to worry about object lifetime anymore.
|
|
|
|
| |
Wrapper for transforming URLs on the OnlineFileSource.
|
|
|
|
|
| |
Now that the old Thread class is gone, we can give ThreadedObject
a better name.
|
|
|
|
| |
Fixes #6426
|
| |
|
| |
|
|
|
|
| |
requests
|
| |
|
| |
|
|
|
|
|
| |
This caches the base URL and access token values when they are set
so that they can still be retrieved even when the thread is paused.
|
|
|
|
|
| |
It will halt the networking thread completely. Expired and error'ed
tiles won't get re-requested until resume() is called again.
|
| |
|
|
|
|
|
| |
It has the unwanted side effect of not retrying anymore in case
of error.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* src/mbgl/annotation/annotation_manager.hpp
* src/mbgl/algorithm/update_renderables.hpp
* src/mbgl/geometry/glyph_atlas.hpp
* src/mbgl/renderer/painter.cpp and src/mbgl/renderer/render_item.hpp
* src/mbgl/renderer/symbol_bucket.hpp and src/mbgl/text/glyph_store.hpp
* src/mbgl/sprite/sprite_atlas.hpp
* include/mbgl/storage/network_status.hpp
* src/mbgl/text/collision_tile.cpp
* src/mbgl/style/update_batch.hpp
* platform/default/mbgl/storage/offline_download.hpp
* Add GlyphRangeSet typedef
* Fix whitespace & unused imports
|
|
|
| |
add runloop to test
|
| |
|
|
|
|
|
| |
* Once we get a fresh style, stop revalidating.
* If the style is mutated, stop revalidating and preserve the existing mutations.
|
| |
|
|
|
|
|
|
| |
Got fix on r12.
https://github.com/android-ndk/ndk/issues/31
|
| |
|
|
|
|
| |
Ref: http://clang.llvm.org/extra/clang-tidy/checks/modernize-pass-by-value.html
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
# Conflicts:
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/BaseMarkerViewOptions.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerView.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/annotations/MarkerViewManager.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapView.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/MapboxMap.java
# platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/NativeMapView.java
# platform/android/src/jni.cpp
# src/mbgl/geometry/buffer.hpp
# src/mbgl/geometry/glyph_atlas.cpp
# src/mbgl/geometry/glyph_atlas.hpp
# src/mbgl/geometry/line_atlas.cpp
# src/mbgl/geometry/vao.cpp
# src/mbgl/gl/gl_object_store.cpp
# src/mbgl/gl/gl_object_store.hpp
# src/mbgl/renderer/frame_history.cpp
# src/mbgl/shader/shader.cpp
# src/mbgl/sprite/sprite_atlas.cpp
# src/mbgl/sprite/sprite_atlas.hpp
# src/mbgl/text/glyph_pbf.hpp
|
| |
| |
| |
| | |
Backported patches fixing ARMv5 support for issue #3985.
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
There's no need to do the work that OnlineFileRequest does on a separate thread from the DefaultFileSource thread, and having AsyncTasks proxy to other tasks across a thread boundary adds needless complexity.
|
| |
|
|
|
|
| |
Use the newly added NetworkStatus::Set().
|
|
|
|
|
|
|
|
| |
This API will let the client force a network status. If set
to Offline, we won't make network requests.
When set make to Online, it will trigger the pending requests
and try to fetch tiles from the network.
|
| |
|
|
|
|
|
|
| |
status.requiredResourceCountIsPrecise
Change the name and reverse the sense. Naming things in the positive is better than naming them in the negative.
|
| |
|
| |
|
|
|
|
| |
Instead, the eviction policy accounts for the actual size needed for an incoming put.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When inserting an cached resource, or removing a region, remove least-recently used resources and tiles, not used by offline regions, until the used database size, as calculated by multiplying the number of in-use pages by the page size, is less than the maximum cache size minus 5 times the page size.
In addition, OfflineDatabase may be configured to ignore cache puts of individual resources larger than a certain size.
This policy is similar but not identical to the former SQLiteCache policy:
* It accounts for offline, by exempting resources required by offline regions from eviction.
* It must delete from two tables (resources and tiles), rather than one. Currently the strategy is naive: evict 50 rows at a time from each table.
* It makes maximumCacheSize and maximumCacheEntrySize completely independent. The SQLiteCache implementation evicted when `usedSize > maximumCacheSize - 2 * maximumCacheEntrySize`. This evicts when `usedSize > maximumCacheSize - 5 * pageSize`.
* It uses a non-unlimited default value for maximumCacheSize: 50 MB. We should have always had a limit in place; "a cache without an eviction policy is a resource leak".
|