Heap based pool allocator - configurable getNumBlocks()

This commit is contained in:
Pavel Kirienko
2015-10-15 10:50:42 +03:00
parent edadf58a91
commit ef93f1b1e8
2 changed files with 14 additions and 5 deletions
@@ -16,10 +16,14 @@ TEST(HeapBasedPoolAllocator, Basic)
std::cout << ">>> HEAP BEFORE:" << std::endl;
malloc_stats();
uavcan::HeapBasedPoolAllocator<uavcan::MemPoolBlockSize, atomicCompareAndSwap> al;
uavcan::HeapBasedPoolAllocator<uavcan::MemPoolBlockSize, atomicCompareAndSwap> al(64);
ASSERT_EQ(0, al.getNumCachedBlocks());
ASSERT_EQ(64, al.getNumBlocks());
al.setReportedNumBlocks(123);
ASSERT_EQ(123, al.getNumBlocks());
void* a = al.allocate(10);
void* b = al.allocate(10);
void* c = al.allocate(10);
@@ -77,7 +81,7 @@ TEST(HeapBasedPoolAllocator, Concurrency)
std::cout << ">>> HEAP BEFORE:" << std::endl;
malloc_stats();
uavcan::HeapBasedPoolAllocator<uavcan::MemPoolBlockSize, atomicCompareAndSwapWithRescheduling> al;
uavcan::HeapBasedPoolAllocator<uavcan::MemPoolBlockSize, atomicCompareAndSwapWithRescheduling> al(1);
volatile bool terminate = false;