Commit Graph

420 Commits

Author SHA1 Message Date
Ashley Rogers 52633c67f4 Non-PropertyTable changes 2024-11-20 16:20:04 -05:00
Ashley Rogers 86a4bf7e53 Fix warnings ignored on headers with SYSTEM 2024-11-19 15:47:40 -05:00
Kevin Ring 0aaf58daee More AsyncSystem doc. 2024-11-18 20:59:30 +11:00
Kevin Ring 8351404324 Fix a bug in `thenPassThrough` that made it require r-values. 2024-11-18 20:58:54 +11:00
Kevin Ring 09bc31add7 Further AsyncSystem doc. 2024-11-18 17:13:50 +11:00
Kevin Ring 651d3b4d43 Merge remote-tracking branch 'origin/main' into remove-gsl 2024-11-15 13:58:24 +11:00
Sean Lilley f51948fbe4 Remove old CESIUM_NATIVE_ CMake variables 2024-11-13 11:22:17 -05:00
Kevin Ring 89dfc44bdc Remove use of GSL.
Change gsl::span to std::span, and replace the few uses of gsl::narrow
with an alternative.
2024-11-06 15:16:03 +11:00
Kevin Ring e3c3daf6c3 Move SharedAsset to CesiumUtility.
This avoids adding a new dependency on CesiumAsync to CesiumGltf.
2024-10-30 12:49:07 +11:00
Kevin Ring e216b54a4a More small tweaks. 2024-10-30 12:14:33 +11:00
Kevin Ring a9d6c6a316 Fix another clang warning. 2024-10-29 21:17:07 +11:00
Kevin Ring 323de96de2 Fix clang warning. 2024-10-29 21:11:53 +11:00
Kevin Ring 1eee18f71c Fix recursive mutex locking bug. 2024-10-29 20:56:04 +11:00
Kevin Ring 117b65f362 Merge branch 'shared-assets' into shared-assets-wip 2024-10-29 17:46:14 +11:00
Kevin Ring 172ce88ceb Merge remote-tracking branch 'origin/main' into shared-assets 2024-10-29 17:45:33 +11:00
Kevin Ring ff87332b7c Formatting. 2024-10-29 14:28:05 +11:00
Kevin Ring c73f5b5f05 staleAssetSizeLimit -> inactiveAssetSizeLimitBytes 2024-10-29 14:09:34 +11:00
Kevin Ring feaf448dc3 Flesh out utility functions slightly. 2024-10-29 14:07:09 +11:00
Kevin Ring 7df4dc43b7 Keep depot alive if any live assets it manages are alive. 2024-10-29 13:39:41 +11:00
Kevin Ring d43edcea85 Add ResultPointer. 2024-10-29 11:38:15 +11:00
Kevin Ring c5533b7ead Cleanup. 2024-10-28 20:55:29 +11:00
Kevin Ring c75831ff24 Fix some problems that only showed up in Unreal. 2024-10-28 18:56:15 +11:00
Kevin Ring 727a68d064 Introduce AssetEntry. 2024-10-28 17:13:18 +11:00
Kevin Ring 083cb92db2 WIP refactoring. 2024-10-25 00:45:53 -04:00
Ashley Rogers b220031fb0 Doubly linked list for deletion candidates 2024-10-11 14:31:23 -04:00
Ashley Rogers 38b4811270 Pass factory to asset depot constructor 2024-10-11 12:00:55 -04:00
Ashley Rogers df1f887e6d Doc comments, rename ImageCesium 2024-10-10 15:28:05 -04:00
Kevin Ring a9516a0c84 Move SharedAsset[Depot] to CesiumAsync. 2024-10-10 21:00:16 +11:00
Kevin Ring 91f5b5fc65 Merge remote-tracking branch 'origin/main' into shared-assets 2024-10-03 09:14:00 +10:00
Sean Lilley 15f03c5f33 Merge branch 'main' into gzip 2024-10-01 10:46:56 -04:00
Ashley Rogers b61dc5cdca Merge branch 'main' of github.com:CesiumGS/cesium-native into all-with-void-futures 2024-09-30 16:13:04 -04:00
Kevin Ring c7268ccb9b Fix error on clang. 2024-09-28 11:21:30 +10:00
Kevin Ring 87ee2e36aa Support for mutable lambdas in `catch` functions. 2024-09-28 10:55:32 +10:00
Ashley Rogers d67ecc3b36 Merge branch 'main' of github.com:CesiumGS/cesium-native into all-with-void-futures 2024-09-26 15:25:21 -04:00
Sean Lilley c1f6b6e829 Add gzip 2024-09-26 11:33:08 -04:00
Ashley Rogers a5829effbc Fix missing std::move 2024-09-03 11:28:02 -04:00
Kevin Ring 832b2c91f2 Changes from review (comments only). 2024-08-16 07:19:41 +10:00
Kevin Ring b1d7da4795 Small tweaks, and update CHANGES.md. 2024-08-15 11:47:40 +10:00
Kevin Ring 833fd3f381 Restore hacky support for isolating sqlite. 2024-07-23 13:33:36 -04:00
Kevin Ring 7c9ea84178 Merge remote-tracking branch 'origin/main' into vcpkg-swl 2024-07-02 17:39:20 +10:00
Brian L 74653140f3 Rename to CESIUM_ASSERT 2024-06-20 10:14:38 -06:00
Brian L 91300f9a61 update from main 2024-06-20 09:54:52 -06:00
Kevin Ring ca42500d54 Merge remote-tracking branch 'origin/main' into vcpkg-2 2024-06-05 14:06:47 +10:00
Kevin Ring d18926c1d5 Add missing header. 2024-06-04 16:10:20 +10:00
Kevin Ring 116ee2dcb6 Support `AsyncSystem::all` on void Futures. 2024-06-04 16:06:40 +10:00
Brian L 90e1ce3895 Add additional reject test for explicit throw 2024-05-24 15:04:12 -06:00
Kevin Ring 9e9abb015a Don't hang waiting for a future that rejects. 2024-05-22 17:55:41 +10:00
Brian L 47414f09fb Make our ASSERT macro. Move everything to use this. 2024-05-03 12:50:50 -06:00
Kevin Ring c09e2f0757 Fix race condition. 2024-04-05 14:57:55 +11:00
Kevin Ring cd232f6b50 Add a couple more tests, remove unneeded header. 2024-04-04 21:33:28 +11:00
Kevin Ring 0428735c98 No spin waiting, add SharedFuture::waitInMainThread. 2024-04-04 19:04:10 +11:00
Brian Langevin dbd1ff8bb1
Merge branch 'main' into wait-in-main-thread 2024-03-20 11:20:33 -06:00
Sean Lilley 2bb28a1335 Fix compiling in gcc-13 2024-03-11 10:47:14 -04:00
Kevin Ring 613637dcae Add AsyncSystem::waitInMainThread. 2024-03-04 19:08:23 +11:00
Bradley Austin Davis 24d783fb01 Migrate dependencies to vcpkg 2024-02-24 00:37:37 +00:00
Kevin Ring c341a72806 Revert "Merge pull request #786 from jherico/feature-vcpkg"
This reverts commit 198ed9d4b4, reversing
changes made to 09c1eb76b4.
2024-02-23 09:08:15 +11:00
Bradley Austin Davis e20c154c55 Migrating dependencies to vcpkg 2024-02-02 10:40:59 -08:00
Kevin Ring 86fce69b30 Add Future::thenPassThrough. 2023-11-17 16:33:47 +11:00
Kevin Ring f67776bacb Fix warning number. 2023-09-20 17:21:24 +10:00
Kevin Ring d7a32f2551 Disable warning for async++. 2023-09-20 16:54:25 +10:00
Kevin Ring fcd8c41d13 Include Async++ with target_link_libraries_system. 2023-09-20 16:01:59 +10:00
Kevin Ring 400f832d32 Update npm dependencies and regenerate 3DTiles/glTF classes. 2023-08-16 10:54:01 +10:00
Kevin Ring a59ffac3ef A few more test cases, and tweak the logic so they pass. 2023-07-27 22:00:58 +10:00
Brian L 8abe88353a Add support for cases where we only need Etag or Last-Modified to cache 2023-07-26 09:52:51 -06:00
Brian L 53689f1123 Modify shouldCacheRequest for additional no-cache cases. Add more unit tests 2023-07-25 12:21:13 -06:00
Brian L a72438bec0 Remove redundant code from shouldRevalidateCache() 2023-07-25 11:33:45 -06:00
Brian L 018a7380b8 Refactor using std::optional. Fixup unit tests 2023-07-25 11:11:23 -06:00
Brian L 29f2625708 Add unit tests similar to Google 3D Tiles response headers 2023-07-22 10:06:35 -06:00
Brian L 2227dd6cd9 Back out check for etag and last-modified
We can still cache requests without this. Logic error caught by unit tests.
2023-07-21 16:58:25 -06:00
Brian L ce3bd6ff5a Fix for unit tests (function rename) 2023-07-21 15:45:49 -06:00
Brian L 6733535218 Handle noCache properly
Let it store to cache, but always indicate stale (needs to revalidate)
2023-07-21 15:34:51 -06:00
Brian L 2e966fbeae Modify ResponseCacheControl to support checking for existence of directives with values
Add additional logic to shouldCacheRequest:
- Return false if no etag or last-modified header exists, can't revalidate
- If cache control and max age (or s max age) exists, ignore Expires header
2023-07-21 14:58:30 -06:00
Brian L fa24d9fd92 Let stale-while-revalidate requests now go to disk cache 2023-07-19 11:26:37 -06:00
Brian L 2b0911d4a0 Run clang-format 2023-07-19 10:50:17 -06:00
Brian L 6ab9f41ad5 Add stale-while-revalidate support to ResponseCacheControl class 2023-07-19 10:27:35 -06:00
Kevin Ring 35db73e0cb Fix another warning. 2023-06-01 12:29:44 +10:00
Kevin Ring 4c0f85e897 Fix warning on VS2017 and VS2019. 2023-06-01 12:08:56 +10:00
Kevin Ring 224f392c31 Cleanup and tests. 2023-06-01 11:45:24 +10:00
Joseph Kaile 0284c86f30 use decorator pattern for gunip asset accessor 2023-05-25 13:07:26 -04:00
Joseph Kaile 84f2e8f550 automatically unzip data if gzipped data is detected 2023-05-18 13:11:49 -04:00
Kevin Ring 77c7badf9e Add _CRT_SECURE_NO_WARNINGS to test file.
Previously tinyxml2 was doing this for all our source files.
2023-01-20 16:39:00 +11:00
Kevin Ring f31638fbfa Cleaner RasterOverlay error reporting. 2022-10-18 17:59:23 +11:00
Kevin Ring cc75a318d1 Fix GCC/Clang compiler error. 2022-10-16 00:34:00 +11:00
Kevin Ring fda1d74c52 Formatting. 2022-10-15 16:28:05 +11:00
Kevin Ring 3b7ecc4c0f Raise an event when async Tileset destruction completes. 2022-10-15 15:38:08 +11:00
Bao Tran d34fcfd8c3 Merge branch 'refactor-staging-main' into tile-content-integration 2022-08-16 14:46:09 -04:00
Kevin Ring 28c6310383 Update cache last access time correctly. 2022-08-03 20:56:31 +10:00
Kevin Ring 41881b6ae4 Remove extra blank line. 2022-06-06 14:04:49 +10:00
Kevin Ring 98fd2266e0 Fix bounding volumes. 2022-06-06 14:02:50 +10:00
Joseph Kaile 4ef3e54c7a create connection even if deleting file somehow fails 2022-04-20 14:35:38 -04:00
Joseph Kaile c88a5d84ab delete and recreate sqlite connection if it detects corruption 2022-04-20 13:20:47 -04:00
Joseph Kaile 6379592122 prevent possible crash when parsing bad json string 2022-04-19 17:10:19 -04:00
Bao Tran 9f29daa85f add Promise::resolve(const T&) 2022-03-07 18:27:22 -05:00
Kevin Ring 0e7830d373 Formatting. 2022-01-25 20:39:19 +11:00
Kevin Ring a5e3f11846 Impl->CesiumImpl, TWO_PI->TwoPi. 2022-01-25 11:55:43 +11:00
Nithin Pranesh 0db47a52af
Merge pull request #423 from CesiumGS/unwrapped-shared-futures
Allow a continuation attached to a SharedFuture to return a Future (rather than a normal value)
2022-01-24 10:28:34 -05:00
Nithin Pranesh c07417e0ef Merge branch 'main' into asset-accessor-verb 2022-01-24 10:02:52 -05:00
Kevin Ring 47b8ae2870 Formatting. 2022-01-20 11:28:33 +11:00
Kevin Ring 2869427efe Support unwrapping for shared future continuations. 2022-01-20 11:24:58 +11:00
Kevin Ring f498c631de startRequest -> reqest. 2022-01-20 11:08:23 +11:00
Kevin Ring 518b7cbaf0 Rename IAssetAccessor methods, allow use of any verb. 2022-01-20 11:00:29 +11:00
Sean Lilley f14c6709e1 Misc generator improvements 2021-12-27 13:31:29 -05:00
Sean Lilley 2cdcb92e20 Namespace cleanup 2021-12-02 18:34:22 -05:00
Kevin Ring 0eaed9270f Fix mac segfault by putting repeated types in unnamed namespace. 2021-11-24 19:19:56 -05:00
Bao Tran e88cd67476 fix compiler error for shared future 2021-11-16 13:09:30 -05:00
Nithin Pranesh 664f08370f Move forward arbitrary future time to fix test 2021-10-21 13:39:40 -04:00
Sean Lilley 52283f3359 Fix includes 2021-10-11 17:28:44 -04:00
Marco Hutter 9855400417 Use proper relative paths in all public headers 2021-09-28 17:23:07 +02:00
Marco Hutter d840015664 Formatting, applied proper order for relative paths 2021-09-28 14:49:53 +02:00
Marco Hutter 50a52ed084 Formatting - WIP
Noticed a wrong include order, to be fixed with next commits.
2021-09-28 14:47:55 +02:00
Marco Hutter b0a2b59ebf Use proper relative paths in CesiumAsync/Impl 2021-09-28 14:44:47 +02:00
Marco Hutter 27fdd26e27 Merge remote-tracking branch 'origin/main' into include-style-fixes
# Conflicts:
#	Cesium3DTilesSelection/include/Cesium3DTilesSelection/GltfContent.h
#	Cesium3DTilesSelection/src/Batched3DModelContent.cpp
#	Cesium3DTilesSelection/src/CompositeContent.cpp
#	Cesium3DTilesSelection/src/ExternalTilesetContent.cpp
#	Cesium3DTilesSelection/src/GltfContent.cpp
#	Cesium3DTilesSelection/src/QuantizedMeshContent.cpp
#	Cesium3DTilesSelection/src/Tile.cpp
#	Cesium3DTilesSelection/src/TileContentFactory.cpp
#	Cesium3DTilesSelection/src/calcQuadtreeMaxGeometricError.h
2021-09-28 14:38:33 +02:00
Kevin Ring 62ff744d4f Treat `<something.h>` as third-party include. 2021-09-27 10:46:26 +10:00
Marco Hutter 0e827f7afd Updated includes based on clang-format with Regroup
This MAINLY inserted some blank lines between
the blocks.
2021-09-26 17:46:27 +02:00
Kevin Ring 270a709ca3 Merge remote-tracking branch 'origin/main' into fix-vs-warnings 2021-09-24 17:35:10 +10:00
Kevin Ring acb2294342 Merge remote-tracking branch 'origin/main' into async-tile-load 2021-09-24 17:09:25 +10:00
Marco Hutter 01cf10590c Formatting 2021-09-19 15:43:55 +02:00
Marco Hutter 11048cac88 Include fix for rapidjson
Accidentally used forwards in implementation
2021-09-19 15:37:50 +02:00
Marco Hutter 6a6b3b60c8 Include style fixes for CesiumAsync 2021-09-19 15:15:13 +02:00
Marco Hutter bb48dd1c86 Merge remote-tracking branch 'origin/main' into fix-vs-warnings
# Conflicts:
#	Cesium3DTilesSelection/src/Tileset.cpp
2021-09-17 21:25:48 +02:00
Kevin Ring e15d172c6f Formatting. 2021-09-15 23:55:37 +10:00
Kevin Ring 329875609a Allow unwrapped Future continuations to be mutable. 2021-09-15 23:54:09 +10:00
Marco Hutter 46c9c7ec7d Formatting after adding const 2021-09-15 15:38:06 +02:00
Marco Hutter de8145ab9e Added missing const keyword
C26496: The variable ... is assigned only once, mark it as const
2021-09-15 15:37:29 +02:00
Marco Hutter a84b09c238 Added further noexcept specifiers 2021-09-15 02:35:40 +02:00
Marco Hutter 588c5a1ab9 Add noexcept for default constructors
C26455: Default constructor may not throw.
2021-09-15 01:35:34 +02:00
Marco Hutter 5949134156 Fixed noexcept specifiers
It's hard to make them consisten for the JSON part...
2021-09-15 00:54:54 +02:00
Marco Hutter 97a2757e39 Added missing noexcept specifiers
Reported as "C26440 Function ... can be declared noexcept"
2021-09-14 16:12:50 +02:00
Ian Lilley 265f0be89f fixed formatting 2021-09-08 15:30:36 -04:00
Ian Lilley 51fc68e97b fixed cachedControlIter type 2021-09-08 15:18:47 -04:00
Kevin Ring c2aa1885cd Add `Future::isReady`. 2021-08-23 19:44:36 +10:00
Kevin Ring b64e7dc0d3 Revert "Add Future::isReady."
This reverts commit 168f2c21aa.
2021-08-23 19:43:43 +10:00
Kevin Ring 168f2c21aa Add Future::isReady. 2021-08-23 19:40:23 +10:00
Kevin Ring 84d9d94725 Formatting. 2021-08-04 14:32:09 +10:00
Kevin Ring 5fa7f7237b Fix compile errors when tracing is enabled. 2021-08-04 14:20:38 +10:00
Kevin Ring 883c40f4aa Enabling chaining to another Future in a catch. 2021-07-23 15:43:51 +10:00
Kevin Ring b7df34b49c Allow catching a shared future. 2021-07-23 13:41:35 +10:00
Kevin Ring f1ea6bd4ea Allow use of `all` with SharedFutures. 2021-07-16 15:27:58 +10:00
Kevin Ring 76b8e283a7 Fix clang error. 2021-07-16 12:46:59 +10:00
Kevin Ring d755d1c7e5 Add doc for share method. 2021-07-16 12:41:59 +10:00
Kevin Ring 3f45992843 More tests for SharedFuture 2021-07-16 12:36:54 +10:00
Kevin Ring ae04eb1f8c Fix build. 2021-07-16 12:28:53 +10:00
Kevin Ring 7d5823478f Merge remote-tracking branch 'origin/future-all' into shared-future 2021-07-16 12:16:40 +10:00
Kevin Ring 3bd41c440f Merge remote-tracking branch 'origin/async-system-tests' into future-all 2021-07-16 12:16:19 +10:00
Kevin Ring f86ab223b7 Fix race condition in tests. 2021-07-16 11:09:17 +10:00
Kevin Ring 858f7ef5eb WIP SharedFuture 2021-07-15 23:37:55 +10:00
Kevin Ring e89b5f01f6 Formatting. 2021-07-15 18:03:13 +10:00
Kevin Ring 2079b56624 Add catchImmediately, more tests. 2021-07-15 18:02:00 +10:00
Kevin Ring 7dff5a9fc9 Formatting. 2021-07-15 14:06:58 +10:00
Kevin Ring 7f6f1e3687 Add `all` method to AsyncSystem. 2021-07-15 14:06:29 +10:00