Adding more components to CCNx stack
diff --git a/model/ccnx-l4-protocol.h b/model/ccnx-l4-protocol.h
index 14aceef..e0a6aed 100644
--- a/model/ccnx-l4-protocol.h
+++ b/model/ccnx-l4-protocol.h
@@ -48,8 +48,11 @@
static TypeId GetTypeId (void);
+ CcnxL4Protocol ();
virtual ~CcnxL4Protocol ();
+ void SetNode (Ptr<Node> node);
+
/**
* \param p packet to forward up
* \param header Ccnx Header information
@@ -60,7 +63,7 @@
*/
virtual enum RxStatus Receive (Ptr<Packet> p,
CcnxHeader const &header,
- Ptr<CcnxInterface> incomingInterface) = 0;
+ Ptr<CcnxInterface> incomingInterface);
typedef Callback<void,Ptr<Packet>, Ptr<CcnxRoute> > DownTargetCallback;
/**
@@ -69,14 +72,25 @@
*
* \param cb current Callback for the L4 protocol
*/
- virtual void SetDownTarget (DownTargetCallback cb) = 0;
+ virtual void SetDownTarget (DownTargetCallback cb);
/**
* This method allows a caller to get the current down target callback
* set for this L4 protocol, for
*
* \return current Callback for the L4 protocol
*/
- virtual DownTargetCallback GetDownTarget (void) const = 0;
+ virtual DownTargetCallback GetDownTarget (void) const;
+
+protected:
+ virtual void DoDispose (void);
+ /*
+ * This function will notify other components connected to the node that a new stack member is now connected
+ * This will be used to notify Layer 3 protocol of layer 4 protocol stack to connect them together.
+ */
+ virtual void NotifyNewAggregate ();
+
+private:
+ DownTargetCallback m_downTarget;
};
} // Namespace ns3