Commit Graph

46 Commits

Author SHA1 Message Date
Konstantin Käfer
069505fe75 fix rare issue that had the notify and cancel callbacks called in the wrong order 2015-03-13 15:30:10 +01:00
Konstantin Käfer
10d84f6be8 remove unused enum 2015-03-06 20:52:47 +01:00
Konstantin Käfer
9781785ab7 scope Requests to an Environment object for easier cancelation
we are now scoping all file requests to an environment object. The FileSource implementation treats
this as an opaque pointer, but allows canceling all Requests that are associated with that pointer.
This is necessary to abort all file requests that originated from a particular Map object. Aborting
a file request is different from canceling a file request: A canceled request doesn't have its
callback called, while an aborted request will have its callback called with an error, indicating
that the environment is going to be shut down.
2015-03-06 08:21:47 -08:00
Konstantin Käfer
8c0acecbe3 fix handling around unique_ptr releases 2015-03-06 16:17:49 +01:00
Konstantin Käfer
fe0baffe0d update uv_zip and add tests 2015-02-16 18:30:19 -08:00
Konstantin Käfer
f4e9908045 code style 2015-02-13 13:28:40 -08:00
Konstantin Käfer
aecef6da1a make sure that the async handle always gets closed 2015-02-13 13:28:40 -08:00
Konstantin Käfer
29baacf3a5 refactor makefile 2015-02-04 10:49:09 +01:00
Konstantin Käfer
12341ce0ee add missing headers 2015-02-04 10:49:08 +01:00
Konstantin Käfer
78376acea7 don't override std::hash 2015-02-04 10:49:06 +01:00
Konstantin Käfer
92a7f73bbe fixes for linux 2015-02-04 10:49:06 +01:00
Konstantin Käfer
31a0d18ca1 remove circular shared_ptr and a few other memory leaks 2015-02-04 10:49:05 +01:00
Konstantin Käfer
b9bf66e67e rewrite storage layer to be independent of the Map's event loop 2015-02-04 10:46:37 +01:00
Leith Bade
40f859e482 Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	gyp/mbgl-ios.gypi
	gyp/mbgl-osx.gypi
	platform/default/asset_request_libuv.cpp
	src/mbgl/storage/caching_http_file_source.cpp
	src/mbgl/storage/file_request.cpp
	src/mbgl/storage/file_request.hpp
	src/mbgl/storage/file_request_baton.hpp
2014-12-18 12:39:36 +11:00
Konstantin Käfer
b5e9998b15 change file:// to asset:// to indicate that they aren't arbitrary files
refs #579
2014-12-17 14:59:05 +01:00
Konstantin Käfer
936e096514 Make file request overridable by platform implementations
refs #579: Android can now rename AssetRequest to FileRequest and implement it differently
2014-12-17 12:14:32 +01:00
Leith Bade
93ab4036e9 Fix commit 2014-12-06 00:50:23 +11:00
Leith Bade
de9eb00276 Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	.gitignore
	gyp/mbgl-ios.gypi
	gyp/mbgl-linux.gypi
	gyp/mbgl-osx.gypi
	include/mbgl/map/map.hpp
	src/mbgl/map/map.cpp
	src/mbgl/storage/caching_http_file_source.cpp
2014-12-05 23:16:49 +11:00
John Firebaugh
ff640132de Move setAccessToken to CachingHTTPFileSource 2014-12-04 17:03:23 -08:00
John Firebaugh
36500b9f95 Add CachingHTTPFileSource::clearLoop()
So loop state can be cleaned up in the appropriate thread.
This is a hack; loop needs to be externalized from Map.

Fixes #686
2014-12-04 15:26:54 -08:00
John Firebaugh
16fe8e64c4 Move setReachability to CachingHTTPFileSource 2014-12-04 15:14:40 -08:00
Konstantin Käfer
1e3fb3a423 remove usage of relative paths 2014-12-04 20:02:51 +01:00
Konstantin Käfer
abafb52f37 make most headers private 2014-12-04 20:02:50 +01:00
John Firebaugh
97d7f065d6 Add virtual destructor for FileSource 2014-12-04 10:52:26 -08:00
Leith Bade
1c0396690e Fixup after merge 2014-12-04 22:39:38 +11:00
Leith Bade
8f1754cf0a Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	include/mbgl/storage/base_request.hpp
	include/mbgl/storage/file_request_baton.hpp
	include/mbgl/storage/http_request.hpp
	include/mbgl/storage/http_request_baton.hpp
	include/mbgl/util/uv_detail.hpp
	platform/darwin/http_request_baton_cocoa.mm
	platform/default/caching_http_file_source.cpp
	platform/default/http_request_baton_curl.cpp
	src/map/map.cpp
	src/storage/base_request.cpp
	src/storage/file_request.cpp
	src/storage/file_request_baton.cpp
	src/storage/http_request.cpp
	src/storage/http_request_baton.cpp
2014-12-04 22:19:46 +11:00
John Firebaugh
57249ca32c Prefer stdlib to libuv (fixes #688) 2014-12-03 17:38:10 -08:00
Leith Bade
991a74774e Merge branch 'master' of github.com:mapbox/mapbox-gl-native into android-mason
Conflicts:
	gyp/mbgl-ios.gypi
	gyp/mbgl-linux.gypi
	gyp/mbgl-osx.gypi
	platform/default/caching_http_file_source.cpp
2014-12-04 08:02:57 +11:00
Mike Morris
dac76a0f92 break out FileSource as an abstract class
add CachingHTTPFileSource implementation
2014-12-03 12:25:11 -05:00
Leith Bade
08ce7157f1 Fix debug build 2014-12-03 22:58:33 +11:00
Leith Bade
f090d6b264 Use uv::async and various other fixes 2014-12-03 21:57:55 +11:00
Leith Bade
2b86522412 Share asset_request between platforms 2014-12-02 19:41:50 +11:00
John Firebaugh
a3ec4cf17e Use noncopyable 2014-11-21 14:25:12 -08:00
Konstantin Käfer
a9039cf5d7 move file request baton to its own file 2014-09-30 17:29:09 +02:00
Konstantin Käfer
9e44c0eae8 add reachability 2014-09-29 14:02:42 +02:00
Konstantin Käfer
135f68e249 add retries in case of connection failures 2014-09-29 13:18:50 +02:00
Konstantin Käfer
46e06bf378 don't pass the loop through all function calls 2014-09-29 12:27:34 +02:00
Konstantin Käfer
b9628c8654 add etag support and if-none-match/if-modified-since to cocoa http handling 2014-09-26 16:10:39 +02:00
Konstantin Käfer
1209744b38 use the default cache location on ios to avoid writing to unwritable file system locations 2014-09-24 17:08:44 +02:00
Konstantin Käfer
992d9ff051 add back CURL requesting 2014-09-24 16:19:47 +02:00
Konstantin Käfer
0fc1f66868 whitespace fixes 2014-09-24 16:16:30 +02:00
Konstantin Käfer
3f38c7650e add retry timers 2014-09-24 16:16:29 +02:00
Konstantin Käfer
89cd310cf6 notifications on request cancellation 2014-09-24 16:14:10 +02:00
Konstantin Käfer
f26bb724dc use util::ptr as a wrapper around std::shared_ptr that asserts nonemptiness 2014-09-24 16:14:09 +02:00
Konstantin Käfer
6c526e5637 make sure all of our async handles are stopped before stopping the map thread 2014-09-24 16:14:09 +02:00
Konstantin Käfer
d9fc7708a2 do 304 requests and cache them in sqlite 2014-09-24 16:14:09 +02:00