Changing internals. PIT, FIB, CS, and ForwardingStrategy now are aggregated onto the node
Also, CcnxStackHelper provide an easy way to set up individual
parameters for them.
diff --git a/model/ccnx-l3-protocol.h b/model/ccnx-l3-protocol.h
index 157703c..1d5a3af 100644
--- a/model/ccnx-l3-protocol.h
+++ b/model/ccnx-l3-protocol.h
@@ -83,25 +83,8 @@
CcnxL3Protocol();
virtual ~CcnxL3Protocol ();
- /**
- * \brief Assigns node to the CCNx stack
- *
- * \param node Simulation node
- */
- void SetNode (Ptr<Node> node);
-
////////////////////////////////////////////////////////////////////
// functions defined in base class Ccnx
-
- void SetForwardingStrategy (Ptr<CcnxForwardingStrategy> forwardingStrategy);
- Ptr<CcnxForwardingStrategy> GetForwardingStrategy () const;
-
- // virtual void SendInterest (const Ptr<CcnxFace> &face,
- // const Ptr<const CcnxInterestHeader> &header,
- // const Ptr<Packet> &packet);
- // virtual void SendContentObject (const Ptr<CcnxFace> &face,
- // const Ptr<const CcnxContentObjectHeader> &header,
- // const Ptr<Packet> &packet);
virtual uint32_t
AddFace (const Ptr<CcnxFace> &face);
@@ -118,9 +101,6 @@
virtual Ptr<CcnxFace>
GetFaceByNetDevice (Ptr<NetDevice> netDevice) const;
- virtual Ptr<CcnxPit>
- GetPit () const;
-
// void ScheduleLeakage();
private:
void
@@ -206,20 +186,15 @@
typedef std::vector<Ptr<CcnxFace> > CcnxFaceList;
CcnxFaceList m_faces; ///< \brief list of faces that belongs to ccnx stack on this node
+ // These objects are aggregated, but for optimization, get them here
Ptr<Node> m_node; ///< \brief node on which ccnx stack is installed
Ptr<CcnxForwardingStrategy> m_forwardingStrategy; ///< \brief smart pointer to the selected forwarding strategy
-
- // Ptr<CcnxRit> m_rit; ///< \brief RIT (recently interest table)
Ptr<CcnxPit> m_pit; ///< \brief PIT (pending interest table)
Ptr<CcnxFib> m_fib; ///< \brief FIB
Ptr<CcnxContentStore> m_contentStore; ///< \brief Content store (for caching purposes only)
bool m_nacksEnabled;
bool m_cacheUnsolicitedData;
- bool m_delayingDataProcessing;
-
- // Time m_bucketLeakInterval;
- // EventId m_bucketLeakEvent;
};
} // Namespace ns3