Commit Graph

343 Commits

Author SHA1 Message Date
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
Benoit Blanchon
86772d33bc Rename VALUE_IS_OWNED_RAW to VALUE_IS_RAW_STRING 2023-05-02 10:03:37 +02:00
Benoit Blanchon
806fa907ab Always store serialized("string") by copy (#1915) 2023-05-02 09:36:40 +02:00
Benoit Blanchon
95f5d9d134 Fix compatibility with the Blynk libary (fixes #1914)
Ported from 52d8a65cbc
2023-04-21 19:08:53 +02:00
Benoit Blanchon
03139a08af Set default for ARDUINOJSON_ENABLE_PROGMEM to 1 on AVR
Ported from 082ae69e86
2023-04-21 19:08:53 +02:00