fix: 修复链路利用率计算不准确问题;ConsumerMIRCC 修复seq2P结构内存未释放问题

This commit is contained in:
SunnyQjm committed 2022-06-25 16:35:20 +08:00
1 parent e4763b35ab
commit b5b9169297
9 files changed
+327 -92

No files matched your search

+17 -6
View File
@@ -206,14 +206,14 @@ ConsumerMIRCC ::StartGreedy()
}
void
ConsumerMIRCC ::recordSeq(uint64_t seq,uint64_t randId)
ConsumerMIRCC::recordSeq(uint64_t seq,uint64_t randId)
{//记录seq到当时使用的randId
seq2RandomId[seq] = randId;
return;
}
void
ConsumerMIRCC ::SendPacket(uint64_t pathId,uint64_t classId)
ConsumerMIRCC::SendPacket(uint64_t pathId,uint64_t classId)
{
if (!m_active)
return;
@@ -330,7 +330,7 @@ ConsumerMIRCC:: MaxRp()
}
void
ConsumerMIRCC:: SchedulePacketForPathId(uint64_t pathId,uint64_t classId)
ConsumerMIRCC::SchedulePacketForPathId(uint64_t pathId,uint64_t classId)
{
SendPacket(pathId,classId);
if (classId == 1)
@@ -497,6 +497,7 @@ ConsumerMIRCC::OnData(shared_ptr<const Data> data)
{
pktcnt_s += 1;
}
seq2P.erase(seq);
@@ -550,9 +551,19 @@ ConsumerMIRCC::OnData(shared_ptr<const Data> data)
m_seqTimeouts.erase(seq);
m_retxSeqs.erase(seq);
}
void
Consumer::OnTimeout(uint32_t sequenceNumber) {
NS_LOG_FUNCTION(sequenceNumber);
// std::cout << Simulator::Now () << ", TO: " << sequenceNumber << ", current RTO: " <<
// m_rtt->RetransmitTimeout ().ToDouble (Time::S) << "s\n";
m_rtt->IncreaseMultiplier(); // Double the next RTO
m_rtt->SentSeq(SequenceNumber32(sequenceNumber),
1); // make sure to disable RTT calculation for this sample
m_retxSeqs.insert(sequenceNumber);
ScheduleNextPacket();
}
}// namespace ndn
} // namespace ns3
+3
View File
@@ -52,6 +52,9 @@ protected:
void
OnData(shared_ptr<const Data> data) override;
void
OnTimeout(uint32_t sequenceNumber)
protected:
//这两个目前没有用处
double m_frequency; // Frequency of interest packets (in hertz)