Skip to content

Commit 85de66e

Browse files
committed
added datablock memory size
1 parent 9dbf26a commit 85de66e

File tree

2 files changed

+5
-3
lines changed

2 files changed

+5
-3
lines changed

src/DataBlock.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ const uint16_t undefinedEquipmentId = 0xFFFF; ///< default value, when equipment
4141
const uint8_t undefinedLinkId = 0xFF; ///< default value, when linkId undefined
4242
const uint32_t undefinedOrbit = 0; ///< default value, when orbit undefined
4343

44-
const uint32_t DataBlockHeaderUserSpace = 128; ///< size of spare area for user data
44+
const uint32_t DataBlockHeaderUserSpace = 124; ///< size of spare area for user data
4545

4646
// Header
4747
struct DataBlockHeader {
@@ -63,16 +63,17 @@ struct DataBlockHeader {
6363
uint8_t flagEndOfTimeframe; ///< flag to signal this is the last TF block
6464
uint8_t isRdhFormat; ///< flag set when payload is RDH-formatted
6565
uint32_t orbitOffset; ///< set when RDH orbits should be added given offset to match TFid
66+
uint32_t memorySize; ///< size in memory of current block
6667

6768
uint8_t userSpace[DataBlockHeaderUserSpace]; ///< spare area for user data
6869
};
6970

7071
// Version of this header
7172
// with DB marker for DataBlock start, 1st byte in header little-endian
72-
const uint32_t DataBlockVersion = 0x0003DBDB;
73+
const uint32_t DataBlockVersion = 0x0004DBDB;
7374

7475
// DataBlockHeader instance with all default fields
75-
const DataBlockHeader defaultDataBlockHeader = { .headerVersion = DataBlockVersion, .headerSize = sizeof(DataBlockHeader), .dataSize = 0, .blockId = undefinedBlockId, .pipelineId = undefinedBlockId, .timeframeId = undefinedTimeframeId, .runNumber = undefinedRunNumber, .systemId = undefinedSystemId, .feeId = undefinedFeeId, .equipmentId = undefinedEquipmentId, .linkId = undefinedLinkId, .timeframeOrbitFirst = undefinedOrbit, .timeframeOrbitLast = undefinedOrbit, .flagEndOfTimeframe = 0, .isRdhFormat = 1, .orbitOffset = undefinedOrbit, .userSpace = { 0 } };
76+
const DataBlockHeader defaultDataBlockHeader = { .headerVersion = DataBlockVersion, .headerSize = sizeof(DataBlockHeader), .dataSize = 0, .blockId = undefinedBlockId, .pipelineId = undefinedBlockId, .timeframeId = undefinedTimeframeId, .runNumber = undefinedRunNumber, .systemId = undefinedSystemId, .feeId = undefinedFeeId, .equipmentId = undefinedEquipmentId, .linkId = undefinedLinkId, .timeframeOrbitFirst = undefinedOrbit, .timeframeOrbitLast = undefinedOrbit, .flagEndOfTimeframe = 0, .isRdhFormat = 1, .orbitOffset = undefinedOrbit, .memorySize = 0, .userSpace = { 0 } };
7677

7778
// DataBlock
7879
// Pair of header + payload data

src/MemoryPagesPool.cxx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,7 @@ std::shared_ptr<DataBlockContainer> MemoryPagesPool::getNewDataBlockContainer(vo
246246
DataBlock* b = (DataBlock*)newPage;
247247
b->header = defaultDataBlockHeader;
248248
b->header.dataSize = getDataBlockMaxSize();
249+
b->header.memorySize = getDataBlockMaxSize();
249250
b->data = &(((char*)b)[headerReservedSpace]);
250251

251252
// define a function to put it back in pool after use

0 commit comments

Comments
 (0)