21 #ifndef _NDN_PIT_ENTRY_IMPL_H_
22 #define _NDN_PIT_ENTRY_IMPL_H_
42 #define CONTAINER static_cast<Pit&> (m_container)
46 Ptr<const Interest> header,
47 Ptr<fib::Entry> fibEntry)
48 :
Entry (pit, header, fibEntry)
51 CONTAINER.i_time.insert (*
this);
52 CONTAINER.RescheduleCleaning ();
57 CONTAINER.i_time.erase (Pit::time_index::s_iterator_to (*
this));
59 CONTAINER.RescheduleCleaning ();
65 CONTAINER.i_time.erase (Pit::time_index::s_iterator_to (*
this));
67 CONTAINER.i_time.insert (*
this);
69 CONTAINER.RescheduleCleaning ();
75 CONTAINER.i_time.erase (Pit::time_index::s_iterator_to (*
this));
77 CONTAINER.i_time.insert (*
this);
79 CONTAINER.RescheduleCleaning ();
84 SetTrie (
typename Pit::super::iterator item) { item_ = item; }
86 typename Pit::super::iterator to_iterator () {
return item_; }
87 typename Pit::super::const_iterator to_iterator ()
const {
return item_; }
90 boost::intrusive::set_member_hook<> time_hook_;
93 typename Pit::super::iterator item_;
101 operator () (
const T &a,
const T &b)
const
103 return a.GetExpireTime () < b.GetExpireTime ();
Entry(Pit &container, Ptr< const Interest > header, Ptr< fib::Entry > fibEntry)
PIT entry constructor.
virtual void UpdateLifetime(const Time &offsetTime)
Update lifetime of PIT entry.
Class implementing Pending Interests Table.
virtual void OffsetLifetime(const Time &offsetTime)
Offset the currently set PIT lifetime (allowed both negative and positive offsets) ...
virtual void UpdateLifetime(const Time &lifetime)
Update lifetime of PIT entry.
PIT entry implementation with additional pointers to the underlying container.
virtual void OffsetLifetime(const Time &offsetTime)
Offset the currently set PIT lifetime (allowed both negative and positive offsets) ...