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
Kevin Ring
99fe6a35ac
Formatting.
2021-07-14 21:32:24 +10:00
Kevin Ring
e6e0561641
Move Promise to a separate file.
2021-07-14 21:31:52 +10:00
Kevin Ring
4c541cda73
Fix forwarding for WithTracing and unwrapFuture.
2021-07-14 21:25:16 +10:00
Kevin Ring
d836b63b51
Rename dispatchZeroOrOneMainThreadTask to dispatchOneMainThreadTask.
...
And also improve its doc.
2021-07-14 17:01:51 +10:00
Kevin Ring
f6f7ba4450
Merge remote-tracking branch 'origin/main' into async-system-tests
2021-07-14 16:56:54 +10:00
baothientran
050ef4019c
Merge pull request #275 from CesiumGS/catch2-with-angle
...
Use angle brackets to #include catch2.
2021-07-08 23:00:31 -04:00
Kevin Ring
ae8977e70f
Fix a mysterious thread_local related segfault.
2021-07-08 22:13:12 +10:00
Kevin Ring
ad11fffb42
Add specialization for Promise<void>.
2021-07-07 14:40:10 +10:00
Kevin Ring
a1ebce1dcd
Allow direct creation of a Promise.
...
Rather than the JavaScript-like create a future by providing a callback
that is given a promise. This can be less exception safe (allow
exceptions to escape from a Future-returning method instead of being
turned into Promise rejection) but also tends to be much easier to work
with.
2021-07-07 14:12:15 +10:00
Kevin Ring
b2ac5a70f6
Fix a race condition in a test.
2021-07-07 00:53:54 +10:00
Kevin Ring
8f7570ccdd
Avoid slicing exception objects.
2021-07-07 00:32:46 +10:00
Kevin Ring
355c486683
Make Future::wait return T and throw on reject.
2021-07-06 23:29:59 +10:00
Kevin Ring
17a16a4dc7
AsyncSystem test improvements.
2021-07-06 22:12:42 +10:00
Kevin Ring
2c88c6c282
Formatting.
2021-07-06 19:02:18 +10:00
Kevin Ring
490114c648
Add some tests for AsyncSystem.
2021-07-06 19:01:46 +10:00
Kevin Ring
4e45bab460
Use angle brackets to #include catch2.
2021-07-04 22:57:11 +10:00
Kevin Ring
bf25e2b925
Changes from review.
2021-06-30 09:53:24 +10:00
Kevin Ring
a74941bf53
Refactor schedulers.
2021-06-27 22:37:32 +10:00
Kevin Ring
287bde9573
typedef -> using
2021-06-26 23:25:08 +10:00
Kevin Ring
f0ee99a714
Actually track the thread pool threads.
2021-06-26 23:14:12 +10:00
Kevin Ring
38a1faea12
Better names for tracing macros.
2021-06-26 00:11:52 +10:00
Kevin Ring
8b7832ba83
WIP overhaul of macros for tracing across threads.
2021-06-25 21:11:40 +10:00
Kevin Ring
a711e01f24
Add doc about AsyncSystem lifetime woes.
2021-06-24 17:06:34 +10:00
Kevin Ring
669bdefeec
Fix clang warnings.
2021-06-22 21:00:28 +10:00
Kevin Ring
e0865d075a
Formatting.
2021-06-22 20:44:54 +10:00
Kevin Ring
43c5b3d474
Fix test failures.
2021-06-22 18:17:32 +10:00
Kevin Ring
628b11325d
Formatting.
2021-06-22 17:35:53 +10:00
Kevin Ring
6ece726757
Fix problems when tracing is disabled.
2021-06-22 17:19:33 +10:00
Kevin Ring
0fa144f516
Make "immediately" the default for continuations.
2021-06-22 15:31:30 +10:00
Kevin Ring
f7e4bb9d66
Allow trace begin/end to be outside async process.
2021-06-22 14:06:50 +10:00
Kevin Ring
e9fdefc99b
Add some doc.
2021-06-22 13:27:10 +10:00
Kevin Ring
09b4e393de
More cleanup of tracing macros.
2021-06-22 12:26:07 +10:00
Kevin Ring
44a69d4cda
Clean up tracing API.
2021-06-21 17:33:59 +10:00
Kevin Ring
fa285f7d29
Access cache DB from a dedicated thread.
2021-06-16 17:29:47 +10:00
Kevin Ring
5b88b652b7
Make ContinuationFutureType actually a Future.
2021-06-16 15:22:29 +10:00
Kevin Ring
109201530a
Split AsyncSystem.h into multiple files.
2021-06-16 15:06:42 +10:00
Kevin Ring
161fe0044e
Fix up CatchFunction with a parameter.
2021-06-16 12:50:21 +10:00
Kevin Ring
599d60d464
More efficient catch, less duplication.
2021-06-15 22:17:43 +10:00