Tests: rename ControllableAllocator to KillswitchAllocator

This commit is contained in:
Benoit Blanchon
2023-07-25 14:46:25 +02:00
parent a8329564e2
commit 7a76da3bc7
4 changed files with 21 additions and 20 deletions

View File

@ -187,15 +187,15 @@ class SpyingAllocator : public ArduinoJson::Allocator {
size_t allocatedBytes_ = 0;
};
class ControllableAllocator : public ArduinoJson::Allocator {
class KillswitchAllocator : public ArduinoJson::Allocator {
public:
ControllableAllocator(
KillswitchAllocator(
Allocator* upstream = ArduinoJson::detail::DefaultAllocator::instance())
: enabled_(true), upstream_(upstream) {}
virtual ~ControllableAllocator() {}
: working_(true), upstream_(upstream) {}
virtual ~KillswitchAllocator() {}
void* allocate(size_t n) override {
return enabled_ ? upstream_->allocate(n) : 0;
return working_ ? upstream_->allocate(n) : 0;
}
void deallocate(void* p) override {
@ -203,15 +203,16 @@ class ControllableAllocator : public ArduinoJson::Allocator {
}
void* reallocate(void* ptr, size_t n) override {
return enabled_ ? upstream_->reallocate(ptr, n) : 0;
return working_ ? upstream_->reallocate(ptr, n) : 0;
}
void disable() {
enabled_ = false;
// Turn the killswitch on, so all allocation fail
void on() {
working_ = false;
}
private:
bool enabled_;
bool working_;
Allocator* upstream_;
};