summaryrefslogtreecommitdiff
path: root/include/mbgl/storage
Commit message (Collapse)AuthorAgeFilesLines
...
* [core] Make {Default,Online}FileSource::Impl more similarJohn Firebaugh2016-02-101-3/+0
|
* Add binary for smoke-testing offline downloadsJohn Firebaugh2016-02-101-0/+2
|
* [core] Interface and implementation for offlineJohn Firebaugh2016-02-102-0/+258
|
* [all] Don't interpret 404s on non-tile resources as "no content"John Firebaugh2016-02-101-0/+4
|
* [all] Do not set Response data for 404sJohn Firebaugh2016-02-101-1/+1
| | | | For AssetFileSource and the node FileSource this was already the case; this makes the other implementations consistent.
* [core] Reimplement existing caching within an offline-capable database schemaJohn Firebaugh2016-02-101-6/+9
|
* [core] Moving caching logic to DefaultFileSourceJohn Firebaugh2016-02-103-5/+10
| | | | This results in OnlineFileSource containing precisely the logic we want for reuse by OfflineFileSource, and no more.
* [core] Remove Response::Error::Reason::CanceledJohn Firebaugh2016-02-041-1/+0
| | | | There is no such thing as a cancelled response, only cancelled requests. A request that is cancelled does not have its callback called with a Response.
* [core] Change TileData pixelRatio to an integerJohn Firebaugh2016-01-291-1/+1
|
* [core] Rationalize Resource initializationJohn Firebaugh2016-01-291-14/+27
|
* [core] Ensure that FileSource has access to tile URL, pixelRatio, x, y, zJohn Firebaugh2016-01-291-0/+12
|
* [core] Include prior values of caching headers in ResourceJohn Firebaugh2016-01-222-14/+15
| | | | This allows the FileSource interface itself to support revalidation. We could (and probably should) now rewrite HTTPContextBase implementations as FileSource implementations.
* [core] Use better types for modified / expires / etagJohn Firebaugh2016-01-211-3/+4
|
* [core] Eliminate Response::stale and inline Response::isExpired()John Firebaugh2016-01-211-5/+0
| | | | Response::isExpired() had subtle and potentially confusing behavior around Seconds::zero(). It's best to inline it and comment why.
* [core] Add an explicit "not modified" indicator to ResponseJohn Firebaugh2016-01-141-0/+3
|
* [core] Eliminate FileCache interfaceJohn Firebaugh2016-01-142-30/+3
| | | | There is only one implementation and we're unlikely to add more.
* [core] Remove request coalescing in OnlineFileSourceJohn Firebaugh2016-01-131-1/+1
|
* [core] Eliminate platform::assetRoot()John Firebaugh2016-01-131-1/+1
| | | | I regenerated assets.zip so that all file paths have an `assets/` prefix, as the Android AssetFileSource implementation asserts, and removed `TEST_DATA` from the paths.
* [core] Simplify asset:// implementationJohn Firebaugh2016-01-131-1/+1
| | | | | | | | * Move asset:// URL handling to DefaultFileSource. * AssetFileSource implements FileSource interface and follows familiar implementation patterns. * Move default implementation to platform/default, zip implementation to platform/android. * Don't bother with modified / expires / etag -- assets are not cached so it doesn't matter. * Don't bother with interleaving individual IO calls on the implementation thread. That adds a lot of complexity for very little benefit.
* [core] Refactor to instance methods on OnlineFileRequestImplJohn Firebaugh2016-01-131-0/+2
|
* [core] Privatize SQLiteCacheJohn Firebaugh2016-01-082-47/+4
|
* [core] Make it possible to limit the size of the SQLite cacheThiago Marcos P. Santos2015-12-271-0/+3
|
* [tests] Test with OnlineFileSourceJohn Firebaugh2015-12-231-0/+34
| | | | | When we introduce OfflineFileSource, the behavior of existing tests should not change.
* [core] Prepare for OfflineFileSourceJohn Firebaugh2015-12-211-14/+7
| | | | | * Rename existing DefaultFileSource to OnlineFileSource * Restore a DefaultFileSource that's a passthrough to OnlineFileSource
* [core] add namespace comment to closing braceKonstantin Käfer2015-12-036-9/+9
|
* [core] Removed dependency on uv_loop from the file sourceThiago Marcos P. Santos2015-12-011-6/+8
|
* [core] Replace time_t with std::chrono::secondsBruno de Oliveira Abinader2015-11-271-2/+4
| | | | | | | Added aliases for std::chrono typedefs (eg. 'Seconds' for std::chrono::seconds). These aliases are used together with templated helper functions to replace time_t with std::chrono::seconds for most cases, in particular for 'modified' and 'expires' values in Response.
* [core] Use std::unique_ptr for FileSource requestJohn Firebaugh2015-11-163-68/+18
|
* [core] Pass a value to response callback, not a referenceJohn Firebaugh2015-11-162-2/+2
|
* [core] Do not pass uv_loop_t aroundThiago Marcos P. Santos2015-11-162-4/+2
| | | | This should be abstracted by util::RunLoop
* [core] move retry logic to DefaultFileSourceKonstantin Käfer2015-11-022-6/+33
|
* [core] reparse tiles when new data arrivesKonstantin Käfer2015-10-261-0/+1
| | | | 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.
* [core] Make response data shared to avoid excessive copyingKonstantin Käfer2015-10-261-1/+1
|
* [core] do not use std::atomic_* with shared_ptrsKonstantin Käfer2015-10-261-4/+4
| | | | It's not implemented in GCC 4.9.2's stdlib (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57250). Instead, we're now always using a mutex to protect access; we previously created a mutex only on cancelation, but since we're always canceling now, it makes sense to allocate it right away.
* [core] add support for stale responsesKonstantin Käfer2015-10-261-0/+4
| | | | We're now returning stale responses from cache. Those responses will have the `stale` flag set to true. Currently, all requesters in the core code discard stale responses, and cancel the request immediately after they got a non-stale response.
* [node] Handle tiles which 404 betterbsudekum2015-09-291-1/+1
|
* Create SharedSQLiteCacheLeith Bade2015-09-161-0/+10
|
* Support v8 sprite, glyph, and style mapbox:// urlsLucas Wojciechowski2015-08-211-2/+2
|
* Move WorkerTask functionality into RunLoop coreJohn Firebaugh2015-07-012-2/+3
| | | | | As a byproduct, this makes FileCache get requests properly cancelable.
* Replace mbgl::util::make_unique<> with std::make_unique<>Konstantin Käfer2015-05-261-1/+0
|
* DefaultFileSource has responsibility for handling mapbox:// URLsJohn Firebaugh2015-05-262-4/+10
|
* Use uv::asyncJohn Firebaugh2015-05-131-2/+2
|
* Remove unusedJohn Firebaugh2015-05-132-5/+0
| | | | | There are no longer any requests made that don't have a run loop to dispatch back to.
* Cancel all pending requests before leavingThiago Marcos P. Santos2015-05-051-2/+0
| | | | | | | | | | | | This still has the unwanted side effect off blocking the Map thread waiting for the workers to return (because they hold a reference to the Map thread main loop). Maybe the only way to solve this would be having a I/O thread for dispatching messages. The Request is not bound anymore to the invoker thread because the workers will request for glyphs, but the reply will arrive at the Map thread.
* Write SQLite tests in terms of ImplJohn Firebaugh2015-05-011-1/+2
|
* Remove Environment::terminate and associated codeJohn Firebaugh2015-04-283-24/+7
| | | | Fixes #1336
* make the request header public as the node module requires itKonstantin Käfer2015-04-171-0/+60
|
* rename SQLiteCache::Thread to SQLiteCache::ImplKonstantin Käfer2015-04-131-2/+2
|
* make implementation files private headersKonstantin Käfer2015-04-138-371/+4
|
* hide Thread<> and separate the Implementation objectKonstantin Käfer2015-04-135-52/+17
|