41 lines
859 B
C++
41 lines
859 B
C++
|
#include "rrdstack.h"
|
||
|
|
||
|
RRDStack::RRDStack(QObject *parent)
|
||
|
: QObject{parent}
|
||
|
{
|
||
|
for (int __i=0; __i<STACK_SIZE; __i++) {
|
||
|
_stacks[__i] = nullptr;
|
||
|
}
|
||
|
|
||
|
_stackPointer = 0;
|
||
|
}
|
||
|
|
||
|
clusterStack *RRDStack::getStackByPacketNumber(uint32_t packetNumber)
|
||
|
{
|
||
|
clusterStack * __stack = nullptr;
|
||
|
|
||
|
for (int __i = 0; __i < STACK_SIZE; __i++) {
|
||
|
if (_stacks[__i] != nullptr) {
|
||
|
if (packetNumber - _stacks[__i]->getFirstPacketIndex() < 45) {
|
||
|
__stack = _stacks[__i];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return __stack;
|
||
|
}
|
||
|
|
||
|
clusterStack *RRDStack::pushStack(clusterStack *newClusterStack)
|
||
|
{
|
||
|
clusterStack * __pushingStack = _stacks[_stackPointer];
|
||
|
_stacks[_stackPointer] = newClusterStack;
|
||
|
|
||
|
_stackPointer++;
|
||
|
|
||
|
if (_stackPointer == STACK_SIZE) {
|
||
|
_stackPointer = 0;
|
||
|
}
|
||
|
|
||
|
return __pushingStack;
|
||
|
}
|