return mData;
}
- Tenum get(size_t index)
+ Tenum get(size_t index) const
{
assert(index >= 0 && index < Nitems);
size_t wordIndex = index / ITEMS_PER_WORD;
return ESP_OK;
}
-esp_err_t Page::readEntry(size_t index, Item& dst)
+esp_err_t Page::readEntry(size_t index, Item& dst) const
{
auto rc = spi_flash_read(getEntryAddress(index), reinterpret_cast<uint32_t*>(&dst), sizeof(dst));
if (rc != ESP_OK) {
mFindInfo = CachedFindInfo();
}
-void Page::debugDump()
+void Page::debugDump() const
{
printf("state=%x addr=%x seq=%d\nfirstUsed=%d nextFree=%d used=%d erased=%d\n", mState, mBaseAddress, mSeqNumber, static_cast<int>(mFirstUsedEntry), static_cast<int>(mNextFreeEntry), mUsedEntryCount, mErasedEntryCount);
size_t skip = 0;
void invalidateCache();
- void debugDump();
+ void debugDump() const;
protected:
esp_err_t alterPageState(PageState state);
- esp_err_t readEntry(size_t index, Item& dst);
+ esp_err_t readEntry(size_t index, Item& dst) const;
esp_err_t writeEntry(const Item& item);
return static_cast<uint8_t>(type) & 0x0f;
}
- uint32_t getEntryAddress(size_t entry)
+ uint32_t getEntryAddress(size_t entry) const
{
assert(entry < ENTRY_COUNT);
return mBaseAddress + ENTRY_DATA_OFFSET + static_cast<uint32_t>(entry) * ENTRY_SIZE;