model: Major API changes
Interest and ContentObject are no longer derived from Header class.
Instead, they are encapsulating payload and, optionally, wire-formatted
Packet object.
Refs #1005 (http://redmine.named-data.net/)
diff --git a/model/fw/ndn-forwarding-strategy.h b/model/fw/ndn-forwarding-strategy.h
index 45ccc55..49b034b 100644
--- a/model/fw/ndn-forwarding-strategy.h
+++ b/model/fw/ndn-forwarding-strategy.h
@@ -49,7 +49,7 @@
public Object
{
public:
- static TypeId GetTypeId (void);
+ static TypeId GetTypeId ();
/**
* @brief Helper function to retrieve logging name for the forwarding strategy
@@ -66,27 +66,23 @@
* \brief Actual processing of incoming Ndn interests. Note, interests do not have payload
*
* Processing Interest packets
- * @param face incoming face
- * @param header deserialized Interest header
- * @param origPacket original packet
+ * @param face incoming face
+ * @param interest Interest packet
*/
virtual void
OnInterest (Ptr<Face> face,
- Ptr<const Interest> header,
- Ptr<const Packet> payload);
+ Ptr<Interest> interest);
/**
* \brief Actual processing of incoming Ndn content objects
*
* Processing ContentObject packets
* @param face incoming face
- * @param header deserialized ContentObject header
- * @param payload data packet payload
+ * @param data Data packet
*/
virtual void
OnData (Ptr<Face> face,
- Ptr<const ContentObject> header,
- Ptr<Packet> payload);
+ Ptr<ContentObject> data);
/**
* @brief Event fired just before PIT entry is removed by timeout
@@ -143,8 +139,7 @@
*/
virtual void
DidCreatePitEntry (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -153,13 +148,12 @@
* Note that this call can be called only for non-similar Interest (i.e., there is an attempt to create a new PIT entry).
* For any non-similar Interests, either FailedToCreatePitEntry or DidCreatePitEntry is called.
*
- * @param inFace incoming face
- * @param header deserialized Interest header
+ * @param inFace incoming face
+ * @param interest Interest packet
*/
virtual void
FailedToCreatePitEntry (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload);
+ Ptr<const Interest> interest);
/**
* @brief An event that is fired every time a duplicated Interest is received
@@ -167,15 +161,14 @@
* This even is the last action that is performed before the Interest processing is halted
*
* @param inFace incoming face
- * @param header deserialized Interest header
+ * @param interest Interest packet
* @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
*
* @see DidReceiveDuplicateInterest, DidSuppressSimilarInterest, DidForwardSimilarInterest, ShouldSuppressIncomingInterest
*/
virtual void
DidReceiveDuplicateInterest (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -184,15 +177,14 @@
* This even is the last action that is performed before the Interest processing is halted
*
* @param inFace incoming face
- * @param header deserialized Interest header
+ * @param interest Interest packet
* @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
*
* @see DidReceiveDuplicateInterest, DidForwardSimilarInterest, ShouldSuppressIncomingInterest
*/
virtual void
DidSuppressSimilarInterest (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -201,15 +193,14 @@
* This even is fired just before handling the Interest to PropagateInterest method
*
* @param inFace incoming face
- * @param header deserialized Interest header
+ * @param interest Interest packet
* @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
*
* @see DidReceiveDuplicateInterest, DidSuppressSimilarInterest, ShouldSuppressIncomingInterest
*/
virtual void
DidForwardSimilarInterest (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -219,15 +210,14 @@
* and retransmitted Interest cannot by forwarded. For more details, refer to the implementation.
*
* @param inFace incoming face
- * @param header deserialized Interest header
+ * @param interest Interest header
* @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
*
* @see DetectRetransmittedInterest
*/
virtual void
DidExhaustForwardingOptions (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -239,14 +229,13 @@
* already has inFace (i.e., a similar interest is received on the same face more than once).
*
* @param inFace incoming face
- * @param header deserialized Interest header
+ * @param interest Interest header
* @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
* @return true if Interest should be considered as retransmitted
*/
virtual bool
DetectRetransmittedInterest (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -267,44 +256,38 @@
* Note that when Interest is satisfied from the cache, incoming face will be 0
*
* @param inFace incoming face
- * @param header deserialized ContentObject header
- * @param payload ContentObject payload
+ * @param data Data packet
* @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
*/
virtual void
SatisfyPendingInterest (Ptr<Face> inFace, // 0 allowed (from cache)
- Ptr<const ContentObject> header,
- Ptr<const Packet> payload,
+ Ptr<const ContentObject> data,
Ptr<pit::Entry> pitEntry);
/**
* @brief Event which is fired just after data was send out on the face
*
- * @param inFace incoming face of the ContentObject
+ * @param inFace incoming face of the ContentObject
* @param outFace outgoing face
- * @param header deserialized ContentObject header
- * @param payload ContentObject payload
+ * @param data Data packet
* @param pitEntry an existing PIT entry, corresponding to the duplicated Interest
*/
virtual void
DidSendOutData (Ptr<Face> inFace,
Ptr<Face> outFace,
- Ptr<const ContentObject> header,
- Ptr<const Packet> payload,
+ Ptr<const ContentObject> data,
Ptr<pit::Entry> pitEntry);
/**
* @brief Event which is fired every time a requested (solicited) DATA packet (there is an active PIT entry) is received
*
* @param inFace incoming face
- * @param header deserialized ContentObject header
- * @param payload ContentObject payload
+ * @param data Data packet
* @param didCreateCacheEntry flag indicating whether a cache entry was added for this data packet or not (e.g., packet already exists in cache)
*/
virtual void
DidReceiveSolicitedData (Ptr<Face> inFace,
- Ptr<const ContentObject> header,
- Ptr<const Packet> payload,
+ Ptr<const ContentObject> data,
bool didCreateCacheEntry);
/**
@@ -314,14 +297,12 @@
* attribute CacheUnsolicitedData true
*
* @param inFace incoming face
- * @param header deserialized ContentObject header
- * @param payload ContentObject payload
+ * @param data Data packet
* @param didCreateCacheEntry flag indicating whether a cache entry was added for this data packet or not (e.g., packet already exists in cache)
*/
virtual void
DidReceiveUnsolicitedData (Ptr<Face> inFace,
- Ptr<const ContentObject> header,
- Ptr<const Packet> payload,
+ Ptr<const ContentObject> data,
bool didCreateCacheEntry);
/**
@@ -333,13 +314,12 @@
* For more details, refer to the source code.
*
* @param inFace incoming face
- * @param header deserialized ContentObject header
+ * @param interest Interest packet
* @param payload ContentObject payload
*/
virtual bool
ShouldSuppressIncomingInterest (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -352,7 +332,7 @@
*
* @param inFace incoming face of the Interest
* @param outFace proposed outgoing face of the Interest
- * @param header parsed Interest header
+ * @param interest Interest packet
* @param pitEntry reference to PIT entry (reference to corresponding FIB entry inside)
*
* @see DetectRetransmittedInterest
@@ -360,8 +340,7 @@
virtual bool
CanSendOutInterest (Ptr<Face> inFace,
Ptr<Face> outFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -371,7 +350,7 @@
*
* @param inFace incoming face of the Interest
* @param outFace proposed outgoing face of the Interest
- * @param header parsed Interest header
+ * @param interest Interest packet
* @param pitEntry reference to PIT entry (reference to corresponding FIB entry inside)
*
* @see CanSendOutInterest
@@ -379,8 +358,7 @@
virtual bool
TrySendOutInterest (Ptr<Face> inFace,
Ptr<Face> outFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -388,13 +366,13 @@
*
* @param inFace incoming face of the Interest
* @param outFace outgoing face of the Interest
- * @param header parsed Interest header
+ * @param interest Interest packet
* @param pitEntry reference to PIT entry (reference to corresponding FIB entry inside)
*/
virtual void
DidSendOutInterest (Ptr<Face> inFace,
Ptr<Face> outFace,
- Ptr<const Interest> header,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -404,15 +382,14 @@
* PIT entry lifetime, calling DoPropagateInterest, and retransmissions (enabled by default).
*
* @param inFace incoming face
- * @param header Interest header
+ * @param interest Interest packet
* @param pitEntry reference to PIT entry (reference to corresponding FIB entry inside)
*
* @see DoPropagateInterest
*/
virtual void
PropagateInterest (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry);
/**
@@ -426,7 +403,7 @@
* PIT entry lifetime, calling DoPropagateInterest, as well as perform retransmissions (enabled by default).
*
* @param inFace incoming face
- * @param header Interest header
+ * @param interest Interest packet
* @param pitEntry reference to PIT entry (reference to corresponding FIB entry inside)
*
* @return true if interest was successfully propagated, false if all options have failed
@@ -435,8 +412,7 @@
*/
virtual bool
DoPropagateInterest (Ptr<Face> inFace,
- Ptr<const Interest> header,
- Ptr<const Packet> payload,
+ Ptr<const Interest> interest,
Ptr<pit::Entry> pitEntry) = 0;
protected:
@@ -453,27 +429,27 @@
bool m_cacheUnsolicitedData;
bool m_detectRetransmissions;
- TracedCallback<Ptr<const Interest>, Ptr<const Packet>,
+ TracedCallback<Ptr<const Interest>,
Ptr<const Face> > m_outInterests; ///< @brief Transmitted interests trace
- TracedCallback<Ptr<const Interest>, Ptr<const Packet>,
+ TracedCallback<Ptr<const Interest>,
Ptr<const Face> > m_inInterests; ///< @brief trace of incoming Interests
- TracedCallback<Ptr<const Interest>, Ptr<const Packet>,
+ TracedCallback<Ptr<const Interest>,
Ptr<const Face> > m_dropInterests; ///< @brief trace of dropped Interests
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
- TracedCallback<Ptr<const ContentObject>, Ptr<const Packet>,
+ TracedCallback<Ptr<const ContentObject>,
bool /*from cache*/,
Ptr<const Face> > m_outData; ///< @brief trace of outgoing Data
- TracedCallback<Ptr<const ContentObject>, Ptr<const Packet>,
+ TracedCallback<Ptr<const ContentObject>,
Ptr<const Face> > m_inData; ///< @brief trace of incoming Data
- TracedCallback<Ptr<const ContentObject>, Ptr<const Packet>,
+ TracedCallback<Ptr<const ContentObject>,
Ptr<const Face> > m_dropData; ///< @brief trace of dropped Data
////////////////////////////////////////////////////////////////////