13 const void*
const data,
16 const size_t address0 = address;
19 writeData(address, (
const uint8_t*) &mContextId,
sizeof(mContextId));
20 address +=
sizeof(mContextId);
23 writeData(address, (
const uint8_t*) data, dataSize);
27 uint32_t crc = (*mCrc32Calculator)(data, dataSize);
28 writeData(address, (
const uint8_t*) &crc,
sizeof(crc));
29 address +=
sizeof(crc);
31 bool success = commit();
32 return (success) ? address - address0: 0;
41 uint32_t retrievedContextId;
42 readData(address, (uint8_t*) &retrievedContextId,
sizeof(retrievedContextId));
43 if (retrievedContextId != mContextId)
return false;
44 address +=
sizeof(retrievedContextId);
47 readData(address, (uint8_t*) data, dataSize);
51 uint32_t retrievedCrc;
52 readData(address, (uint8_t*) &retrievedCrc,
sizeof(retrievedCrc));
53 address +=
sizeof(retrievedCrc);
56 uint32_t expectedCrc = (*mCrc32Calculator)(data, dataSize);
57 return expectedCrc == retrievedCrc;