Commit Graph
347 Commits
Author SHA1 Message Date
Benoit Blanchon fc1f06822c CI: add GCC 12 2023-08-10 18:25:53 +02:00
Benoit Blanchon c98ba999af Add more tests of JsonDocument constructor 2023-08-10 14:30:50 +02:00
Benoit Blanchon 1d583f68da Add stubs for JSON_ARRAY_SIZE, JSON_OBJECT_SIZE, and JSON_STRING_SIZE 2023-08-10 09:54:47 +02:00
Benoit Blanchon 78399c2d78 Add a stub for createNestedObject() 2023-08-10 09:54:46 +02:00
Benoit Blanchon 8cc645c40c Add a stub for createNestedArray() 2023-08-10 09:54:45 +02:00
Benoit Blanchon 11373af344 Add a stub for add() 2023-08-10 09:54:44 +02:00
Benoit Blanchon 53d54ba9d7 Add a stub for shallowCopy() 2023-08-10 09:54:44 +02:00
Benoit Blanchon 2f31c932d7 Add a stub for memoryUsage() 2023-08-10 09:54:43 +02:00
Benoit Blanchon 93cb3d2fdc Add a stub for BasicJsonDocument 2023-08-10 09:54:42 +02:00
Benoit Blanchon be5d5300a2 Add a stub for DynamicJsonDocument 2023-08-10 09:54:40 +02:00
Benoit Blanchon ea5b019552 Add a stub for StaticJsonDocument 2023-08-10 09:54:28 +02:00
Benoit Blanchon bc6707b10c Rename tests/JsonObject/invalid.cpp to unbound.cpp 2023-08-09 12:08:21 +02:00
Benoit Blanchon 7f459adc4b Remove createNestedArray() and createNestedObject() 2023-08-09 12:08:21 +02:00
Benoit Blanchon f422b7b37d Replace add() with add<T>() (add(T) is still supported) 2023-08-09 10:57:52 +02:00
Benoit Blanchon 38941d5807 Tests: use sections for filters tests 2023-08-01 19:14:11 +02:00
Benoit Blanchon 57454cf97b Don't call shrinkToFit() for deserializeXxx(JsonVariant) 2023-08-01 18:48:10 +02:00
Benoit Blanchon af6954c224 serializeXxx() sets std::string and String instead of appending 2023-07-31 18:37:35 +02:00
Benoit Blanchon 3003756adb Reformat filters test file 2023-07-31 17:34:53 +02:00
Benoit Blanchon 218a12ca46 Call shrinkToFit() in deserializeJson() and deserializeMsgPack() 2023-07-31 17:34:17 +02:00
Benoit Blanchon 43eed00cd9 Add deserializeXxx(JsonVariant, ...) (resolves #1226) 2023-07-29 12:05:18 +02:00
Benoit Blanchon bc8ea36781 Tests: gather deserializeMsgPack() errors test cases 2023-07-29 06:33:45 +02:00
Benoit Blanchon 8fb187baed Tests: gather deserializeJson() errors test cases 2023-07-29 06:33:45 +02:00
Benoit Blanchon 9122d87f12 Tests: remove duplicate test of incomplete input 2023-07-27 14:31:56 +02:00
Benoit Blanchon 9a11d98117 Tests: make allocator assertions more readable 2023-07-26 09:28:21 +02:00
Benoit Blanchon 30ec507989 Tests: use a consistent naming convention for allocators 2023-07-25 14:53:54 +02:00
Benoit Blanchon 7a76da3bc7 Tests: rename ControllableAllocator to KillswitchAllocator 2023-07-25 14:46:25 +02:00
Benoit Blanchon a8329564e2 Remove JsonDocument::garbageCollect() 2023-07-25 14:37:25 +02:00
Benoit Blanchon 00c9d8680a Remove memoryUsage() 2023-07-24 17:21:25 +02:00
Benoit Blanchon 228c4cf9fa JsonDocument: use the copy-and-swap idiom 2023-07-24 10:13:17 +02:00
Benoit Blanchon 9d2d257851 Scripts: call wandbox/publish.sh from get-release-page.sh
Ported from 371fa4667e
2023-07-23 18:08:54 +02:00
Benoit Blanchon 1a14499612 Preallocate pool list 2023-07-21 17:57:13 +02:00
Benoit Blanchon f427706e06 VariantPoolList: handle SlotId overflow 2023-07-21 17:57:13 +02:00
Benoit Blanchon 727a1013ca Recycle removed slots 2023-07-20 18:04:06 +02:00
Benoit Blanchon 0f319e7ca4 Remove capacity from JsonDocument's constructor 2023-07-18 09:08:55 +02:00
Benoit Blanchon 42b2840009 Create more memory pools as needed (resolves #1074) 2023-07-18 09:08:55 +02:00
Benoit Blanchon 65c67d317a AllocatorLog: support nulls in deallocate() and reallocate() 2023-07-17 17:28:49 +02:00
Benoit Blanchon c4e5051a7a Store index of slot in the pool instead of a pointer or a distance 2023-07-17 11:20:46 +02:00
Benoit Blanchon 39e8b63746 Remove shallowCopy() 2023-07-17 11:20:46 +02:00
Benoit Blanchon c37990d791 CollectionData: addSlot() returns an iterator 2023-07-17 11:20:46 +02:00
Benoit Blanchon 0f511b873d VariantPool: store VariantSlots instead of chars 2023-07-12 15:03:56 +02:00
Benoit Blanchon 688e21e75f Add CollectionIterator 2023-06-26 18:23:20 +02:00
Benoit Blanchon 972f665b07 Wandbox: upgrade to GCC 5.5.0
Ported from ecbc8e85d4
2023-06-19 09:17:36 +02:00
Benoit Blanchon d90b36c009 Extract VariantPool from ResourceManager 2023-06-18 10:14:39 +02:00
Benoit Blanchon 8147625921 ResourceManager: replace allocFromPool() with allocVariant() 2023-06-18 10:14:39 +02:00
Benoit Blanchon 4871380060 Rename MemoryPool to ResourceManager 2023-06-18 10:14:39 +02:00
Benoit Blanchon da45c4bc4f Fix memory leak in JsonDeserializer when object key is repeated 2023-05-25 09:21:54 +02:00
Benoit Blanchon 636c8c36eb Decouple MemoryPool from VariantSlot 2023-05-22 17:56:04 +02:00
Benoit Blanchon 044a4753d2 Rename StringCopier to StringBuilder 2023-05-10 10:12:55 +02:00
Benoit Blanchon 37357086e2 Remove the zero-copy mode
After removing the string size from `VariantContent`, `deserializeJson()` and `deserializeMsgPack()` could not support NUL in strings in the zero-copy mode anymore.
Instead of adding a complicated warning in the documentation, I thought it was better to remove the zero-copy mode entirely.
The zero-copy mode has always been a source of bugs because many users used it without realizing it.
Also, the memory savings are smaller now that we deduplicate strings, so this feature should not be missed much.
2023-05-10 09:55:21 +02:00
Benoit Blanchon 167ea08c53 Pass StringNode* to VariantData 2023-05-02 18:56:02 +02:00