summaryrefslogtreecommitdiff
path: root/src/mbgl/storage
Commit message (Collapse)AuthorAgeFilesLines
...
* [core] Add client defined network statusThiago Marcos P. Santos2016-03-081-0/+22
| | | | | | | | 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.
* [core] Always store tiles without ratio support with ratio = 1John Firebaugh2016-02-101-1/+2
|
* [core] Throttle the number of concurrent requests to 20John Firebaugh2016-02-101-0/+1
|
* Add binary for smoke-testing offline downloadsJohn Firebaugh2016-02-101-0/+22
|
* [all] Don't interpret 404s on non-tile resources as "no content"John Firebaugh2016-02-101-0/+1
|
* [core] Reimplement existing caching within an offline-capable database schemaJohn Firebaugh2016-02-101-44/+0
|
* [core] Change TileData pixelRatio to an integerJohn Firebaugh2016-01-291-1/+1
|
* [core] Rationalize Resource initializationJohn Firebaugh2016-01-291-0/+82
|
* [core] Include prior values of caching headers in ResourceJohn Firebaugh2016-01-223-11/+9
| | | | 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-212-8/+13
|
* [core] Eliminate Response::stale and inline Response::isExpired()John Firebaugh2016-01-211-6/+0
| | | | Response::isExpired() had subtle and potentially confusing behavior around Seconds::zero(). It's best to inline it and comment why.
* [core] Eliminate RequestBaseJohn Firebaugh2016-01-213-40/+17
| | | | HTTPRequestBase can now itself be the base class.
* [core] Support multiple paths in SQLiteCache::getShared()Konstantin Käfer2016-01-151-1/+0
| | | | If you use many different caches, expired weak_ptrs will pile up in the unordered_map, but that is an edge case, and you probably shouldn't do that anyway.
* [core] move SharedSQLiteCache::get to SQLiteCache::getSharedKonstantin Käfer2016-01-151-9/+2
|
* [core] Let SQLiteCache decide when store or refresh responsesJohn Firebaugh2016-01-141-2/+1
|
* [core] Add an explicit "not modified" indicator to ResponseJohn Firebaugh2016-01-141-0/+1
|
* [core] std::shared_ptr<const Response> ⇢ const Response&John Firebaugh2016-01-141-1/+1
|
* [core] Eliminate FileCache interfaceJohn Firebaugh2016-01-142-7/+15
| | | | There is only one implementation and we're unlikely to add more.
* [core] Simplify asset:// implementationJohn Firebaugh2016-01-132-20/+26
| | | | | | | | * 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] Privatize SQLiteCacheJohn Firebaugh2016-01-081-0/+44
|
* [core] Remove `Resource` dependency from low-level classesJohn Firebaugh2015-12-234-8/+8
| | | | These classes should not be coupled to domain-specific resource types.
* [core] Move OnlineFileSource to platformJohn Firebaugh2015-12-223-522/+0
| | | | Preparation for OfflineFileSource which depends on SQLite
* [core] Prepare for OfflineFileSourceJohn Firebaugh2015-12-213-434/+501
| | | | | * Rename existing DefaultFileSource to OnlineFileSource * Restore a DefaultFileSource that's a passthrough to OnlineFileSource
* [core] Merge default_file_source_impl.hpp into default_file_source.cppJohn Firebaugh2015-12-182-116/+102
| | | | After previous refactors, no other files include default_file_source_imp.hpp.
* [core] add std::move to constructorsKonstantin Käfer2015-12-031-1/+2
|
* [core] add namespace comment to closing braceKonstantin Käfer2015-12-034-4/+4
|
* [core] Introduce Timer abstractionThiago Marcos P. Santos2015-12-012-5/+4
|
* [core] Removed dependency on uv_loop from the file sourceThiago Marcos P. Santos2015-12-015-24/+18
|
* [core] Abstract main loop inside RunLoop classThiago Marcos P. Santos2015-12-011-1/+1
|
* [core] Replace time_t with std::chrono::secondsBruno de Oliveira Abinader2015-11-275-28/+23
| | | | | | | 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] more robust max-age parsingKonstantin Käfer2015-11-201-5/+5
|
* [core] Use std::unique_ptr for FileSource requestJohn Firebaugh2015-11-165-173/+69
|
* [core] Do not pass uv_loop_t aroundThiago Marcos P. Santos2015-11-161-4/+2
| | | | This should be abstracted by util::RunLoop
* [core] Fixed bit-shifting error in exponential backoffMinh Nguyễn2015-11-121-2/+2
| | | | This change fixes a bug introduced in 4d5c6333be52aae4a9c72f4b01941e16ead503f4 for #2727. 1 << 32 would exceed the size of int64_t. The static analyzer reported undefined behavior here because std::min() might or might not return 32.
* [core] Added missing virtual destructor to HTTPContextBaseThiago Marcos P. Santos2015-11-051-0/+1
|
* [core] Make DefaultFileSource react to all NetworkStatus changesKonstantin Käfer2015-11-022-1/+30
|
* [core] move retry logic to DefaultFileSourceKonstantin Käfer2015-11-027-191/+257
|
* [core] Move parseCacheControl() up in the class hierarchyThiago Marcos P. Santos2015-10-262-0/+24
| | | | Avoid duplicating it on all the ports.
* [core] Make response data shared to avoid excessive copyingKonstantin Käfer2015-10-261-1/+0
|
* [core] do not use std::atomic_* with shared_ptrsKonstantin Käfer2015-10-261-26/+25
| | | | 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] set a timer and auto-refresh requests when they expireKonstantin Käfer2015-10-262-3/+33
| | | | When we get a request with an explicit expiration time, we're now starting a timer, and will trigger a refresh once the data expires. This gives requesters a chance to update their data.
* [core] add support for stale responsesKonstantin Käfer2015-10-264-23/+70
| | | | 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.
* [core] use RAII-style lifetime tracking of Request objectsKonstantin Käfer2015-10-262-0/+38
|
* [core] all requests have to be canceled explicitly nowKonstantin Käfer2015-10-262-5/+11
| | | | By not automatically destroying Request objects after the result has been delivered, we are making sure that we can potentially fire the callback multiple times without adverse effects. This means that you have to hold on to the result of fs->request(), can explicitly cancel it if you don't want to be notified of data changes anymore. Not doing so will monitor the request indefinitely and will prevent the app from exiting.
* Support v8 sprite, glyph, and style mapbox:// urlsLucas Wojciechowski2015-08-211-0/+5
|
* s/AssetContext/AssetContextBase/Bruno de Oliveira Abinader2015-07-283-11/+11
|
* s/HTTPContext/HTTPContextBase/Bruno de Oliveira Abinader2015-07-284-18/+18
|
* Created HTTPRequestBase as base for HTTP requestsBruno de Oliveira Abinader2015-07-284-11/+29
| | | | | | | | - Added HTTPRequestBase (inherits from RequestBase) - retry() is now a pure virtual in HTTPRequestBase - Moved cancelled bool to HTTPRequestBase - HTTPContext now handles only HTTPRequestBase* - Renamed HTTPNSURLRequest, HTTPCURLRequest
* Moved ResponseStatus to its own headerBruno de Oliveira Abinader2015-07-281-0/+36
|
* Do not force uv_loop_t as the first parameter for a threaded object ctorThiago Marcos P. Santos2015-07-062-7/+5
|