Adding more documentation. Now CcnxFace defines an virtual interface to
protocol-dependant functionality
(Code is not working as of now)
diff --git a/model/ccnx.h b/model/ccnx.h
index c7627ab..3ec6058 100644
--- a/model/ccnx.h
+++ b/model/ccnx.h
@@ -109,13 +109,24 @@
/**
* \brief Send a packet to a specified face
*
- * \param packet fully prepared CCNx packet to send
* \param face face where to send this packet
+ * \param packet fully prepared CCNx packet to send
*
* Higher-level layers (forwarding strategy in particular) call this
* method to send a packet down the stack to the MAC and PHY layers.
*/
- virtual void Send (Ptr<Packet> packet, const Ptr<CcnxFace> &face) = 0;
+ virtual void Send (const Ptr<CcnxFace> &face, Ptr<Packet> packet) = 0;
+
+ /**
+ * \brief Lower layers calls this method after demultiplexing
+ *
+ * Lower-layer-dependent implementation of CcnxFace will do actual work
+ * to set up demultiplexing and call this function as a callback
+ *
+ * \param face face from which packet came from
+ * \param p the packet
+ */
+ void ReceiveFromLower (const Ptr<Face> &device, Ptr<const Packet> p);
/**
* \param face The face number of an Ccnx interface.