Checkpoint #2
diff --git a/utils/ndn-pit-queue.h b/utils/ndn-pit-queue.h
index 34987db..ff4f0de 100644
--- a/utils/ndn-pit-queue.h
+++ b/utils/ndn-pit-queue.h
@@ -67,7 +67,6 @@
typedef std::map< Ptr<Face>, boost::shared_ptr<Queue> > PerInFaceQueue;
private:
-
uint32_t m_maxQueueSize;
PerInFaceQueue::iterator m_lastQueue; // last queue from which interest was taken
PerInFaceQueue m_queues;
@@ -79,10 +78,24 @@
public Tag
{
public:
- virtual
- ~PitQueueTag () { };
+ // map based on addresses, should be good enough
+ typedef std::map< boost::shared_ptr<PitQueue::Queue>, PitQueue::Queue::iterator > MapOfItems;
- typedef boost::tuple< boost::shared_ptr<PitQueue::Queue>, PitQueue::Queue::iterator > Item;
+public:
+ virtual
+ ~PitQueueTag () { };
+
+ void
+ InsertQueue (boost::shared_ptr<PitQueue::Queue> item, PitQueue::Queue::iterator iterator);
+
+ void
+ RemoveFromAllQueues ();
+
+ void
+ RemoveFromQueue (boost::shared_ptr<PitQueue::Queue> queue);
+
+private:
+ MapOfItems m_items;
};
} // namespace fw