1 #if !defined(_TEMPORALMEMORY_H_) 2 #define _TEMPORALMEMORY_H_ 4 #include "MemoryManager.h" 31 uint64 checkTimeInterval;
59 #define GETMSGNODE(id) (uint16)((id & 0xffff000000000000L)>>48) 60 #define GETMSGSERIAL(id) (uint16)((id & 0x0000ffff00000000L)>>32) 61 #define GETMSGSLOT(id) (uint32)(id & 0x00000000ffffffffL) 62 #define SETMSGID(id,node,serial,slot) id = (((uint64)node) << 48) | (((uint64)serial) << 32) | ((uint64)slot) 64 #define CHECKTEMPORALMEMORYSERIAL if (serial != master->getDynamicShmemSerial()) {if (!open()) {mutex->leave();return 0;}} 72 bool getMemoryUsage(uint64& alloc, uint64& usage);
75 bool create(uint32 slotCount, uint16 binCount, uint32 minBlockSize, uint32 maxBlockSize, uint64 initSize, uint64 maxSize, uint32 growSteps = 8);
76 bool setNodeID(uint16
id);
87 static bool UnitTest();
91 std::vector<BinHeaderStruct> calcBinHeaders(uint32 binCount, uint32 minBlockSize, uint32 maxBlockSize, uint64 binDataSize);
92 BinHeaderStruct* getBestBin(uint32 size, uint32& bin, uint32 &blocksNeeded);
93 char* getMemoryBlock(uint64
id);
94 bool checkSlots(uint64 now);
98 std::vector<BinHeaderStruct> calcBinHeadersGrowth(uint32 bin = 0, uint32 msgSize = 0);
99 bool resizeMemory(uint32 slotGrowth, std::vector<BinHeaderStruct>& binHeaderSizes);
187 #endif //_TEMPORALMEMORY_H_ Definition: MemoryManager.h:169
Definition: MemoryController.h:9
Definition: TemporalMemory.h:9
Definition: TemporalMemory.h:67
Definition: TemporalMemory.h:21
Definition: DataMessage.h:95