Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(459)

Unified Diff: src/internet/model/ipv6-extension.h

Issue 4440051: Fragmentation support for IPv4 (Closed)
Patch Set: Fixed some comments and removed commented lines Created 12 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/internet/model/ipv4-l3-protocol.cc ('k') | src/internet/model/ipv6-extension.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/internet/model/ipv6-extension.h
===================================================================
--- a/src/internet/model/ipv6-extension.h
+++ b/src/internet/model/ipv6-extension.h
@@ -319,6 +319,22 @@
*/
Ptr<Packet> GetPacket () const;
+ /**
+ * \brief Get the packet parts so far received.
+ * \return the partial packet
+ */
+ Ptr<Packet> GetPartialPacket () const;
+
+ /**
+ * \brief Set the Timeout EventId.
+ */
+ void SetTimeoutEventId (EventId event);
+
+ /**
+ * \brief Cancel the timeout event
+ */
+ void CancelTimeout ();
+
private:
/**
* \brief If other fragments will be sent.
@@ -339,8 +355,37 @@
* \brief Number of references.
*/
mutable uint32_t m_refCount;
+
+ /**
+ * \brief Timeout handler event
+ */
+ EventId m_timeoutEventId;
};
+ /**
+ * \brief Process the timeout for packet fragments
+ * \param key representing the packet fragments
+ * \param ipHeader the IP header of the original packet
+ * \param iif Input Interface
+ */
+ void HandleFragmentsTimeout (std::pair<Ipv6Address, uint32_t> key, Ptr<Fragments> fragments, Ipv6Header & ipHeader);
+
+ /**
+ * \brief Get the packet parts so far received.
+ * \return the partial packet
+ */
+ Ptr<Packet> GetPartialPacket () const;
+
+ /**
+ * \brief Set the Timeout EventId.
+ */
+ void SetTimeoutEventId (EventId event);
+
+ /**
+ * \brief Cancel the timeout event
+ */
+ void CancelTimeout ();
+
typedef std::map<std::pair<Ipv6Address, uint32_t>, Ptr<Fragments> > MapFragments_t;
/**
« no previous file with comments | « src/internet/model/ipv4-l3-protocol.cc ('k') | src/internet/model/ipv6-extension.cc » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b