From 35933bcc9a93bed1e855f89b3f019ca71ee12846 Mon Sep 17 00:00:00 2001 From: Natale Patriciello Date: Tue, 23 Feb 2016 09:56:54 +0100 Subject: [PATCH] internet: TcpErrorModel drop callback extended --- src/internet/test/tcp-error-model.cc | 4 ++-- src/internet/test/tcp-error-model.h | 4 ++-- src/internet/test/tcp-fast-retr-test.cc | 2 +- src/internet/test/tcp-fast-retr-test.h | 2 +- src/internet/test/tcp-rto-test.cc | 3 ++- src/internet/test/tcp-rto-test.h | 2 +- 6 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/internet/test/tcp-error-model.cc b/src/internet/test/tcp-error-model.cc index dea1b60ac..8af916133 100644 --- a/src/internet/test/tcp-error-model.cc +++ b/src/internet/test/tcp-error-model.cc @@ -60,7 +60,7 @@ TcpGeneralErrorModel::DoCorrupt (Ptr p) if (toDrop) { - m_dropCallback (ipHeader, tcpHeader); + m_dropCallback (ipHeader, tcpHeader, p); } p->AddHeader (tcpHeader); @@ -94,7 +94,7 @@ TcpSeqErrorModel::ShouldDrop (const Ipv4Header &ipHeader, const TcpHeader &tcpHe SequenceNumber32 toKill = m_seqToKill.front(); NS_LOG_INFO ("Analyzing seq=" << tcpHeader.GetSequenceNumber () << " killing=" << toKill); - if (tcpHeader.GetSequenceNumber() >= toKill) + if (tcpHeader.GetSequenceNumber() == toKill) { NS_LOG_INFO ("segment " << toKill << " dropped"); toDrop = true; diff --git a/src/internet/test/tcp-error-model.h b/src/internet/test/tcp-error-model.h index 9a81ef662..4c810b6e3 100644 --- a/src/internet/test/tcp-error-model.h +++ b/src/internet/test/tcp-error-model.h @@ -38,7 +38,7 @@ public: static TypeId GetTypeId (void); TcpGeneralErrorModel (); - void SetDropCallback (Callback cb) + void SetDropCallback (Callback > cb) { m_dropCallback = cb; } @@ -50,7 +50,7 @@ protected: private: virtual bool DoCorrupt (Ptr p); - Callback m_dropCallback; + Callback > m_dropCallback; }; /** diff --git a/src/internet/test/tcp-fast-retr-test.cc b/src/internet/test/tcp-fast-retr-test.cc index 48bdc940b..18d39afaa 100644 --- a/src/internet/test/tcp-fast-retr-test.cc +++ b/src/internet/test/tcp-fast-retr-test.cc @@ -320,7 +320,7 @@ TcpFastRetrTest::CongStateTrace (const TcpSocketState::TcpCongState_t oldValue, void -TcpFastRetrTest::PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH) +TcpFastRetrTest::PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH, Ptr p) { NS_LOG_FUNCTION (this << ipH << tcpH); diff --git a/src/internet/test/tcp-fast-retr-test.h b/src/internet/test/tcp-fast-retr-test.h index 9ba042e46..9d33a4d6d 100644 --- a/src/internet/test/tcp-fast-retr-test.h +++ b/src/internet/test/tcp-fast-retr-test.h @@ -57,7 +57,7 @@ protected: virtual void RTOExpired (const Ptr tcb, SocketWho who); - void PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH); + void PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH, Ptr p); void FinalChecks (); bool m_pktDropped; diff --git a/src/internet/test/tcp-rto-test.cc b/src/internet/test/tcp-rto-test.cc index e391ae36f..95fd01e2b 100644 --- a/src/internet/test/tcp-rto-test.cc +++ b/src/internet/test/tcp-rto-test.cc @@ -243,7 +243,8 @@ TcpTimeRtoTest::RTOExpired (const Ptr tcb, SocketWho who) } void -TcpTimeRtoTest::PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH) +TcpTimeRtoTest::PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH, + Ptr p) { NS_LOG_INFO (Simulator::Now ().GetSeconds () << "\tDROPPED! " << tcpH); } diff --git a/src/internet/test/tcp-rto-test.h b/src/internet/test/tcp-rto-test.h index 5005bddf3..0e298b830 100644 --- a/src/internet/test/tcp-rto-test.h +++ b/src/internet/test/tcp-rto-test.h @@ -71,7 +71,7 @@ protected: virtual void Tx (const Ptr p, const TcpHeader&h, SocketWho who); virtual void FinalChecks (); - void PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH); + void PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH, Ptr p); private: uint32_t m_senderSentSegments;