internet: TcpErrorModel drop callback extended
This commit is contained in:
@@ -60,7 +60,7 @@ TcpGeneralErrorModel::DoCorrupt (Ptr<Packet> 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;
|
||||
|
||||
@@ -38,7 +38,7 @@ public:
|
||||
static TypeId GetTypeId (void);
|
||||
TcpGeneralErrorModel ();
|
||||
|
||||
void SetDropCallback (Callback<void, const Ipv4Header&, const TcpHeader&> cb)
|
||||
void SetDropCallback (Callback<void, const Ipv4Header&, const TcpHeader&, Ptr<const Packet> > cb)
|
||||
{
|
||||
m_dropCallback = cb;
|
||||
}
|
||||
@@ -50,7 +50,7 @@ protected:
|
||||
|
||||
private:
|
||||
virtual bool DoCorrupt (Ptr<Packet> p);
|
||||
Callback<void, const Ipv4Header&, const TcpHeader&> m_dropCallback;
|
||||
Callback<void, const Ipv4Header&, const TcpHeader&, Ptr<const Packet> > m_dropCallback;
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -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<const Packet> p)
|
||||
{
|
||||
NS_LOG_FUNCTION (this << ipH << tcpH);
|
||||
|
||||
|
||||
@@ -57,7 +57,7 @@ protected:
|
||||
|
||||
virtual void RTOExpired (const Ptr<const TcpSocketState> tcb, SocketWho who);
|
||||
|
||||
void PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH);
|
||||
void PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH, Ptr<const Packet> p);
|
||||
void FinalChecks ();
|
||||
|
||||
bool m_pktDropped;
|
||||
|
||||
@@ -243,7 +243,8 @@ TcpTimeRtoTest::RTOExpired (const Ptr<const TcpSocketState> tcb, SocketWho who)
|
||||
}
|
||||
|
||||
void
|
||||
TcpTimeRtoTest::PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH)
|
||||
TcpTimeRtoTest::PktDropped (const Ipv4Header &ipH, const TcpHeader& tcpH,
|
||||
Ptr<const Packet> p)
|
||||
{
|
||||
NS_LOG_INFO (Simulator::Now ().GetSeconds () << "\tDROPPED! " << tcpH);
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ protected:
|
||||
virtual void Tx (const Ptr<const Packet> 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<const Packet> p);
|
||||
|
||||
private:
|
||||
uint32_t m_senderSentSegments;
|
||||
|
||||
Reference in New Issue
Block a user