Store server states as 64-bit to the monitor journal

The journal schema version was changed.
This commit is contained in:
Esa Korhonen
2018-05-23 16:16:51 +03:00
parent f8940d4a2a
commit a2cd4feeaf
3 changed files with 53 additions and 11 deletions

View File

@ -1149,4 +1149,25 @@ std::string to_hex(uint8_t value)
return out;
}
uint64_t get_byteN(const uint8_t* ptr, int bytes)
{
uint64_t rval = 0;
ss_dassert(bytes >= 0 && bytes <= (int)sizeof(rval));
for (int i = 0; i < bytes; i++)
{
rval += (uint64_t)ptr[i] << (i * 8);
}
return rval;
}
uint8_t* set_byteN(uint8_t* ptr, uint64_t value, int bytes)
{
ss_dassert(bytes >= 0 && bytes <= (int)sizeof(value));
for (int i = 0; i < bytes; i++)
{
ptr[i] = (uint8_t)(value >> (i * 8));
}
return ptr + bytes;
}
}