The PersistStore
creates two special serial elements which have reserved OIDs as follows:
Object | OID |
---|---|
RootPersistStoreObject | 00000001.00000000 |
PSpaceMap | 00000001.00000001 |
Each PSpace
creates two special serial elements which have reserved OIDs, for example:
Object | OID |
---|---|
PSpaceRoots | 00000001.00000002 |
DeletionQueue | 00000001.00000003 |
The function GetNumSerialElementsInStore()
calculates the expected number of serial elements
in the LSS for a given number of PSpaces and a given total number of IPersistable
objects
across all PSpaces.
const ssize_t NUM_PERSISTSTORE_SERIAL_ELEMENTS = 2;
const ssize_t NUM_PSPACE_SERIAL_ELEMENTS = 2;
inline const ssize_t GetNumSerialElementsInStore(ssize_t numPSpaces, ssize_t numObjects)
{
return NUM_PERSISTSTORE_SERIAL_ELEMENTS + numPSpaces*NUM_PSPACE_SERIAL_ELEMENTS + numObjects;
}