35 #include "ns3/ipv4-route.h"
36 #include "ns3/socket.h"
55 for (std::vector<SendBuffEntry>::const_iterator i =
m_sendBuffer.begin (); i
90 for (std::vector<SendBuffEntry>::iterator i =
m_sendBuffer.begin (); i
95 Drop (*i,
"DropPacketWithDst");
111 if (i->GetDestination () == dst)
128 for (std::vector<SendBuffEntry>::const_iterator i =
m_sendBuffer.begin (); i
131 if (i->GetDestination () == dst)
158 for (std::vector<SendBuffEntry>::iterator i =
m_sendBuffer.begin (); i
164 Drop (*i,
"Drop out-dated packet ");
bool operator()(ErrorBuffEntry const &e) const
Time m_sendBufferTimeout
The maximum period of time that a routing protocol is allowed to buffer a packet for, seconds.
bool Find(Ipv4Address dst)
void Drop(SendBuffEntry en, std::string reason)
Notify that packet is dropped from queue by timeout.
#define NS_LOG_FUNCTION(parameters)
uint64_t GetUid(void) const
#define NS_LOG_COMPONENT_DEFINE(name)
uint32_t GetSize(void) const
Ipv4Address GetDestination() const
void Purge()
Remove all expired entries.
bool Dequeue(Ipv4Address dst, SendBuffEntry &entry)
#define NS_LOG_LOGIC(msg)
Ptr< const Packet > GetPacket() const
void SetExpireTime(Time exp)
Ipv4 addresses are stored in host order in this class.
#define NS_LOG_DEBUG(msg)
uint32_t m_maxLen
The maximum number of packets that we allow a routing protocol to buffer.
std::vector< SendBuffEntry > m_sendBuffer
The send buffer to cache unsent packet.
static bool IsEqual(SendBuffEntry en, const Ipv4Address dst)
void DropPacketWithDst(Ipv4Address dst)
bool Enqueue(SendBuffEntry &entry)
Time GetExpireTime() const