int ringIndexLocationsStart = 0;
int ringIndexLocationsLen = SIZE_OF_INT * 2;
int storeLen = capacity * align(maxSize, 4);
final MappedStore ms = new MappedStore(file, FileChannel.MapMode.READ_WRITE, ringIndexLocationsLen + storeLen);
final DirectBytes ringIndexSlice = ms.bytes(ringIndexLocationsStart, ringIndexLocationsLen);
ringIndex = new SharedRingIndex(ringIndexSlice);
// provides an index to the data in the ring buffer, the size of this index is proportional to the capacity of the ring buffer
final DirectBytes storeSlice = ms.bytes(ringIndexLocationsLen, storeLen);
dataLocator = new SharedLocalDataLocator(capacity, maxSize, storeSlice, clazz);