Commit Graph

308 Commits

Author SHA1 Message Date
0f511b873d VariantPool: store VariantSlots instead of chars 2023-07-12 15:03:56 +02:00
688e21e75f Add CollectionIterator 2023-06-26 18:23:20 +02:00
972f665b07 Wandbox: upgrade to GCC 5.5.0
Ported from ecbc8e85d4
2023-06-19 09:17:36 +02:00
d90b36c009 Extract VariantPool from ResourceManager 2023-06-18 10:14:39 +02:00
8147625921 ResourceManager: replace allocFromPool() with allocVariant() 2023-06-18 10:14:39 +02:00
4871380060 Rename MemoryPool to ResourceManager 2023-06-18 10:14:39 +02:00
da45c4bc4f Fix memory leak in JsonDeserializer when object key is repeated 2023-05-25 09:21:54 +02:00
636c8c36eb Decouple MemoryPool from VariantSlot 2023-05-22 17:56:04 +02:00
044a4753d2 Rename StringCopier to StringBuilder 2023-05-10 10:12:55 +02:00
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
167ea08c53 Pass StringNode* to VariantData 2023-05-02 18:56:02 +02:00
86772d33bc Rename VALUE_IS_OWNED_RAW to VALUE_IS_RAW_STRING 2023-05-02 10:03:37 +02:00
806fa907ab Always store serialized("string") by copy (#1915) 2023-05-02 09:36:40 +02:00
95f5d9d134 Fix compatibility with the Blynk libary (fixes #1914)
Ported from 52d8a65cbc
2023-04-21 19:08:53 +02:00
03139a08af Set default for ARDUINOJSON_ENABLE_PROGMEM to 1 on AVR
Ported from 082ae69e86
2023-04-21 19:08:53 +02:00
461cdaa818 Allow using PROGMEM outside of Arduino (fixes #1903)
Ported from 40daf56b5a
2023-04-21 19:08:53 +02:00
dd46813dc0 Change naming convention from _member to member_ (fixes #1905)
Ported from 31ce648e63
2023-04-21 18:59:48 +02:00
5d796781fb Increase coverage 2023-04-21 18:39:47 +02:00
003087406c Reference-count shared strings 2023-04-21 16:11:54 +02:00
b7c8e0d25c Decouple VariantData from MemoryPool 2023-04-21 16:11:54 +02:00
d8f3058efa Store the strings in the heap 2023-04-17 10:42:08 +02:00
6eb4f45fb9 Tests: ControllableAllocator controls reallocate() too 2023-04-08 09:18:15 +02:00
b3132cac3a Tests: add SpyingAllocator::clearLog() 2023-04-07 18:30:31 +02:00
d95a3bd19a Tests: add TimebombAllocator 2023-04-07 18:28:46 +02:00
22e4f216c3 Tests: allow ArmoredAllocator to be called multiple times 2023-04-07 18:27:38 +02:00
e9850152a7 Tests: replace constants with sizeofString(n) 2023-04-07 14:50:54 +02:00
c4b879645a Remove JsonDocument::capacity() 2023-04-03 09:51:43 +02:00
6afa6b647c Test: Support failed allocations in SpyingAllocator 2023-04-03 09:51:10 +02:00
acd465b365 Test: change ControllableAllocator into a decorator 2023-04-03 09:51:10 +02:00
e858570afb Test: change SpyingAllocator into a decorator 2023-04-03 09:51:09 +02:00
0643c2e708 Test: gather JsonDocument constructor and assignment tests 2023-04-03 09:51:09 +02:00
bcf1339e89 Test: split JsonDocument.cpp into multiple files 2023-04-03 09:51:09 +02:00
dc463a2f72 Test: remove REQUIRE_JSON() 2023-04-03 09:51:09 +02:00
a7cdf638e7 Test: move ControllableAllocator 2023-04-03 09:51:09 +02:00
57810af2ac Test: include deallocated size in allocator's log 2023-04-02 16:47:59 +02:00
2eb726b744 Test: add AllocatorLog 2023-04-02 16:47:59 +02:00
912137ccfb Test: share SpyingAllocator 2023-04-01 10:34:48 +02:00
035c913c72 Remove ARDUINOJSON_ENABLE_STRING_DEDUPLICATION 2023-03-29 19:28:44 +02:00
3f43c2b816 Remove JSON_ARRAY_SIZE(), JSON_OBJECT_SIZE(), and JSON_STRING_SIZE() 2023-03-29 19:18:06 +02:00
0328f66340 Fix compatibility with GCC 5.2 2023-03-28 17:24:45 +02:00
b3eada9c7f CI: restore build on GCC 5 2023-03-28 14:53:15 +02:00
5faa3df43f MemoryPool calls the Allocator directly 2023-03-20 15:03:09 +01:00
540901e219 Merge DynamicJsonDocument with JsonDocument 2023-03-20 14:49:51 +01:00
db9258bcd7 Remove BasicJsonDocument 2023-03-20 14:49:08 +01:00
24aaab6e3e Add abstract Allocator class 2023-03-20 14:47:27 +01:00
17a482a9b1 Remove StaticJsonDocument 2023-03-20 10:40:35 +01:00
5edd435fe9 Add a constructor to VariantData 2023-03-20 10:14:54 +01:00
c89a2025ce Make string support generic (issue #1807) 2023-03-13 12:19:05 +01:00
0f8698e655 Replace ARDUINOJSON_EXPANDX with variadic macros (#1820) 2023-02-22 11:24:51 +01:00
b2b995edb3 Use delete instead of hiding copy constructors and assignments (#1820) 2023-02-17 10:59:57 +01:00