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
2cf7fc5427
Remove unused #include
s
2023-06-18 10:14:39 +02:00
4871380060
Rename MemoryPool
to ResourceManager
2023-06-18 10:14:39 +02:00
2a663db3c7
MemoryPool: store usage and capacity as integers instead of using pointers
2023-06-18 10:14:39 +02:00
437307a955
MemoryPool: store slots at the beginning of the pool
2023-06-14 12:01:31 +02:00
56b3b4d5a9
MemoryPool: remove unused functions
2023-06-14 12:01:31 +02:00
f5355a9eb5
Move all functions from VariantFunctions.hpp
to `VariantData.hpp
2023-05-26 14:09:12 +02:00
779ee07de9
Add VariantData::copyFrom()
2023-05-26 14:09:12 +02:00
ab4e8547cb
Add VariantData::getOrAddElement()
2023-05-26 14:09:12 +02:00
585795d002
Add VariantData::removeElement()
2023-05-26 14:09:12 +02:00
68a167b167
Add VariantData::nesting()
2023-05-26 14:09:12 +02:00
78d4f721ff
Add VariantData::removeMember()
2023-05-26 14:09:00 +02:00
a97bcb6b2d
Add VariantData::getOrAddMember()
2023-05-26 14:09:00 +02:00
2da1f2553d
Add VariantData::addElement()
2023-05-26 14:09:00 +02:00
c267b55dec
Move raw string copy logic into VariantData::setRawString()
2023-05-25 10:06:01 +02:00
3a73ccf027
Move string copy logic into VariantData::setString()
2023-05-25 09:55:43 +02:00
8ab45e6f82
Add JsonVariant::release()
2023-05-25 09:35:40 +02:00
da45c4bc4f
Fix memory leak in JsonDeserializer
when object key is repeated
2023-05-25 09:21:54 +02:00
48acf963fb
Remove VariantImpl.hpp
2023-05-25 09:06:05 +02:00
ccccd1da11
Sort VariantData
's members alphabetically
2023-05-25 09:06:05 +02:00
78a30496be
Define all VariantData
's member functions inline
2023-05-25 09:03:16 +02:00
636c8c36eb
Decouple MemoryPool
from VariantSlot
2023-05-22 17:56:04 +02:00
5070fa6562
Rename memberFilter
to elementFilter
in deserializers
2023-05-22 14:11:59 +02:00
d9e035a288
Remove VariantData::isEnclosed()
2023-05-22 09:46:35 +02:00
aba8974148
Extract StringNode.hpp
2023-05-22 09:05:48 +02:00
044a4753d2
Rename StringCopier
to StringBuilder
2023-05-10 10:12:55 +02:00
ff0deee793
Remove string storage policy to always use StringCopier
2023-05-10 10:02:48 +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
9321f8fdab
Remove string size from VariantContent
( #1650 )
2023-05-02 18:56:17 +02:00
167ea08c53
Pass StringNode*
to VariantData
2023-05-02 18:56:02 +02:00
5c0338970c
Remove StoragePolicy
2023-05-02 17:52:53 +02:00
6b4dd3ff2f
Fix build on ESP32 (caused by espressif/arduino-esp32#7941 )
2023-05-02 10:48:02 +02:00
fead19560c
Rename visitRawJson()
to visitRawString()
2023-05-02 10:06:27 +02:00
86772d33bc
Rename VALUE_IS_OWNED_RAW
to VALUE_IS_RAW_STRING
2023-05-02 10:03:37 +02:00
a035116018
Remove unused struct RawData
2023-05-02 10:00:46 +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
acfbf26e37
CI: check build configuration on AVR
...
Ported from 976a6d7594
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
f5e7570f84
Simplify CollectionData
to work only with VariantSlot*
2023-04-21 16:11:54 +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
30c111fd3d
Remove callback from storeString()
2023-04-17 10:42:08 +02:00
9d0714efdf
Remove unused MemoryPool::_left
2023-04-17 10:42:08 +02:00
d8f3058efa
Store the strings in the heap
2023-04-17 10:42:08 +02:00
7c0fa7c276
Add MemoryPool::deallocPool()
2023-04-08 09:20:27 +02:00