NS-3 based Named Data Networking (NDN) simulator
ndnSIM: NDN, CCN, CCNx, content centric networks
API Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
ns3::ndn::pit::EntryImpl< Pit > Class Template Reference

PIT entry implementation with additional pointers to the underlying container. More...

#include <ndn-pit-entry-impl.h>

Inheritance diagram for ns3::ndn::pit::EntryImpl< Pit >:
Collaboration diagram for ns3::ndn::pit::EntryImpl< Pit >:

Public Types

typedef Entry base_type
 
typedef Entry super
 
- Public Types inherited from ns3::ndn::pit::Entry
typedef std::set< IncomingFacein_container
 incoming faces container type
 
typedef in_container::iterator in_iterator
 iterator to incoming faces
 
typedef std::set< OutgoingFaceout_container
 outgoing faces container type
 
typedef out_container::iterator out_iterator
 iterator to outgoing faces
 
typedef std::set< uint32_t > nonce_container
 nonce container type
 

Public Member Functions

 EntryImpl (Pit &pit, Ptr< const Interest > header, Ptr< fib::Entry > fibEntry)
 
virtual void UpdateLifetime (const Time &offsetTime)
 Update lifetime of PIT entry. More...
 
virtual void OffsetLifetime (const Time &offsetTime)
 Offset the currently set PIT lifetime (allowed both negative and positive offsets) More...
 
void SetTrie (typename Pit::super::iterator item)
 
Pit::super::iterator to_iterator ()
 
Pit::super::const_iterator to_iterator () const
 
- Public Member Functions inherited from ns3::ndn::pit::Entry
 Entry (Pit &container, Ptr< const Interest > header, Ptr< fib::Entry > fibEntry)
 PIT entry constructor. More...
 
virtual ~Entry ()
 Virtual destructor.
 
const NameGetPrefix () const
 Get prefix of the PIT entry.
 
const Time & GetExpireTime () const
 Get current expiration time of the record. More...
 
bool IsNonceSeen (uint32_t nonce) const
 Check if nonce nonce for the same prefix has already been seen. More...
 
virtual void AddSeenNonce (uint32_t nonce)
 Add nonce to the list of seen nonces. More...
 
virtual in_iterator AddIncoming (Ptr< Face > face)
 Add face to the list of incoming faces. More...
 
virtual void RemoveIncoming (Ptr< Face > face)
 Remove incoming entry for face face
 
virtual void ClearIncoming ()
 Clear all incoming faces either after all of them were satisfied or NACKed.
 
virtual out_iterator AddOutgoing (Ptr< Face > face)
 Add face to the list of outgoing faces. More...
 
virtual void ClearOutgoing ()
 Clear all incoming faces either after all of them were satisfied or NACKed.
 
virtual void RemoveAllReferencesToFace (Ptr< Face > face)
 Remove all references to face. More...
 
virtual void SetWaitingInVain (Ptr< Face > face)
 Flag outgoing face as hopeless.
 
bool AreAllOutgoingInVain () const
 Check if all outgoing faces are NACKed.
 
bool AreTherePromisingOutgoingFacesExcept (Ptr< Face > face) const
 Similar to AreAllOutgoingInVain, but ignores face More...
 
virtual void IncreaseAllowedRetxCount ()
 Increase maximum limit of allowed retransmission per outgoing face.
 
uint32_t GetMaxRetxCount () const
 Get maximum allowed number of retransmissions via outgoing faces.
 
Ptr< fib::EntryGetFibEntry ()
 Get associated FIB entry.
 
const in_containerGetIncoming () const
 Get associated list (const reference) of incoming faces.
 
const out_containerGetOutgoing () const
 Get associated list (const reference) of outgoing faces.
 
uint32_t GetOutgoingCount () const
 Get number of outgoing faces (needed for python bindings)
 
void AddFwTag (boost::shared_ptr< fw::Tag > tag)
 Add new forwarding strategy tag.
 
template<class T >
boost::shared_ptr< T > GetFwTag ()
 Get forwarding strategy tag (tag is not removed) More...
 
template<class T >
void RemoveFwTag ()
 Remove the forwarding strategy tag. More...
 
Ptr< const InterestGetInterest () const
 Get Interest (if several interests are received, then nonce is from the first Interest)
 

Public Attributes

boost::intrusive::set_member_hook time_hook_
 

Additional Inherited Members

- Protected Attributes inherited from ns3::ndn::pit::Entry
Pitm_container
 Reference to the container (to rearrange indexes, if necessary)
 
Ptr< const Interestm_interest
 Interest of the PIT entry (if several interests are received, then nonce is from the first Interest)
 
Ptr< fib::Entrym_fibEntry
 FIB entry related to this prefix.
 
nonce_container m_seenNonces
 map of nonces that were seen for this prefix
 
in_container m_incoming
 container for incoming interests
 
out_container m_outgoing
 container for outgoing interests
 
Time m_expireTime
 Time when PIT entry will be removed.
 
Time m_lastRetransmission
 Last time when number of retransmissions were increased.
 
uint32_t m_maxRetxCount
 Maximum allowed number of retransmissions via outgoing faces.
 
std::list< boost::shared_ptr
< fw::Tag > > 
m_fwTags
 Forwarding strategy tags.
 

Detailed Description

template<class Pit>
class ns3::ndn::pit::EntryImpl< Pit >

PIT entry implementation with additional pointers to the underlying container.

Definition at line 36 of file ndn-pit-entry-impl.h.

Member Function Documentation

template<class Pit >
virtual void ns3::ndn::pit::EntryImpl< Pit >::OffsetLifetime ( const Time &  offsetTime)
inlinevirtual

Offset the currently set PIT lifetime (allowed both negative and positive offsets)

Parameters
offsetTimepositive or negative offset for the PIT lifetime.

If PIT expire time becomes less than Simulator::Now, then it is adjusted to Simulator::Now.

Reimplemented from ns3::ndn::pit::Entry.

Definition at line 73 of file ndn-pit-entry-impl.h.

References ns3::ndn::pit::Entry::OffsetLifetime().

template<class Pit >
virtual void ns3::ndn::pit::EntryImpl< Pit >::UpdateLifetime ( const Time &  lifetime)
inlinevirtual

Update lifetime of PIT entry.

Parameters
lifetimedesired lifetime of the pit entry (relative to the Simulator::Now ())

This function will update PIT entry lifetime to the maximum of the current lifetime and the lifetime Simulator::Now () + lifetime

Reimplemented from ns3::ndn::pit::Entry.

Definition at line 63 of file ndn-pit-entry-impl.h.

References ns3::ndn::pit::Entry::UpdateLifetime().


The documentation for this class was generated from the following file: