Connection: Fix double counting of packet sizes on diferent intervals.
This commit is contained in:
@@ -58,6 +58,10 @@ u_int64_t PackList::sumanddel(timeval t) {
|
|||||||
PackListNode *previous = NULL;
|
PackListNode *previous = NULL;
|
||||||
|
|
||||||
while (current != NULL) {
|
while (current != NULL) {
|
||||||
|
if(current->is_sum == false){
|
||||||
|
retval += current->val->len;
|
||||||
|
current->is_sum = true;
|
||||||
|
}
|
||||||
// std::cout << "Comparing " << current->val->time.tv_sec << " <= " <<
|
// std::cout << "Comparing " << current->val->time.tv_sec << " <= " <<
|
||||||
// t.tv_sec - PERIOD << endl;
|
// t.tv_sec - PERIOD << endl;
|
||||||
if (current->val->time.tv_sec <= t.tv_sec - PERIOD) {
|
if (current->val->time.tv_sec <= t.tv_sec - PERIOD) {
|
||||||
@@ -68,7 +72,6 @@ u_int64_t PackList::sumanddel(timeval t) {
|
|||||||
delete current;
|
delete current;
|
||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
retval += current->val->len;
|
|
||||||
previous = current;
|
previous = current;
|
||||||
current = current->next;
|
current = current->next;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ public:
|
|||||||
PackListNode(Packet *m_val, PackListNode *m_next = NULL) {
|
PackListNode(Packet *m_val, PackListNode *m_next = NULL) {
|
||||||
val = m_val;
|
val = m_val;
|
||||||
next = m_next;
|
next = m_next;
|
||||||
|
is_sum = false;
|
||||||
}
|
}
|
||||||
~PackListNode() {
|
~PackListNode() {
|
||||||
delete val;
|
delete val;
|
||||||
@@ -38,6 +39,7 @@ public:
|
|||||||
}
|
}
|
||||||
PackListNode *next;
|
PackListNode *next;
|
||||||
Packet *val;
|
Packet *val;
|
||||||
|
bool is_sum;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PackList {
|
class PackList {
|
||||||
|
|||||||
Reference in New Issue
Block a user