00c9d8680a
Remove memoryUsage()
2023-07-24 17:21:25 +02:00
228c4cf9fa
JsonDocument: use the copy-and-swap idiom
2023-07-24 10:13:17 +02:00
9d2d257851
Scripts: call wandbox/publish.sh
from get-release-page.sh
...
Ported from 371fa4667e
2023-07-23 18:08:54 +02:00
1a14499612
Preallocate pool list
2023-07-21 17:57:13 +02:00
f427706e06
VariantPoolList: handle SlotId
overflow
2023-07-21 17:57:13 +02:00
727a1013ca
Recycle removed slots
2023-07-20 18:04:06 +02:00
0f319e7ca4
Remove capacity from JsonDocument
's constructor
2023-07-18 09:08:55 +02:00
42b2840009
Create more memory pools as needed ( resolves #1074 )
2023-07-18 09:08:55 +02:00
65c67d317a
AllocatorLog: support nulls in deallocate()
and reallocate()
2023-07-17 17:28:49 +02:00
c4e5051a7a
Store index of slot in the pool instead of a pointer or a distance
2023-07-17 11:20:46 +02:00
39e8b63746
Remove shallowCopy()
2023-07-17 11:20:46 +02:00
c37990d791
CollectionData: addSlot()
returns an iterator
2023-07-17 11:20:46 +02:00
0f511b873d
VariantPool: store VariantSlot
s instead of char
s
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