|
NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
|
API Documentation
|
Go to the documentation of this file.
26 #ifndef NFD_DAEMON_RIB_RIB_ENTRY_HPP
27 #define NFD_DAEMON_RIB_RIB_ENTRY_HPP
38 class RibEntry :
public std::enable_shared_from_this<RibEntry>
46 : m_nRoutesWithCaptureSet(0)
63 addChild(shared_ptr<RibEntry> child);
68 const std::list<shared_ptr<RibEntry>>&
82 std::pair<RibEntry::iterator, bool>
132 RouteList::const_iterator
182 time::milliseconds maxExpiration = 1_h)
const;
198 setParent(shared_ptr<RibEntry> parent);
202 std::list<shared_ptr<RibEntry>> m_children;
203 shared_ptr<RibEntry> m_parent;
213 uint64_t m_nRoutesWithCaptureSet;
229 RibEntry::setParent(shared_ptr<RibEntry> parent)
234 inline shared_ptr<RibEntry>
240 inline const std::list<shared_ptr<RibEntry>>&
255 return m_inheritedRoutes;
261 return m_routes.begin();
267 return m_routes.end();
273 return m_routes.begin();
279 return m_routes.end();
288 #endif // NFD_DAEMON_RIB_RIB_ENTRY_HPP
const std::list< shared_ptr< RibEntry > > & getChildren() const
iterator findRoute(const Route &route)
bool hasRoute(const Route &route)
const Name & getName() const
size_t getNRoutes() const
Represents a RIB entry, which contains one or more Routes with the same prefix.
const Route * getRouteWithSecondLowestCostByFaceId(uint64_t faceId) const
void eraseRoute(const Route &route)
erases a Route with the same faceId and origin
A prefix announcement object that represents an application's intent of registering a prefix toward i...
const Route * getRouteWithLowestCostAndChildInheritByFaceId(uint64_t faceId) const
Returns the route with the lowest cost that has the passed face ID and its child inherit flag set.
const Route * getRouteWithLowestCostByFaceId(uint64_t faceId) const
Returns the route with the lowest cost that has the passed face ID.
bool hasChildInheritOnFaceId(uint64_t faceId) const
Determines if the entry has an inherited route with the passed face ID and its child inherit flag set...
Represents an absolute name.
const RouteList & getRoutes() const
Copyright (c) 2011-2015 Regents of the University of California.
RouteList::const_iterator const_iterator
RouteList::iterator iterator
std::ostream & operator<<(std::ostream &os, const FibUpdate &update)
std::list< Route > RouteList
void addInheritedRoute(const Route &route)
ndn::PrefixAnnouncement getPrefixAnnouncement(time::milliseconds minExpiration=15_s, time::milliseconds maxExpiration=1_h) const
Retrieve a prefix announcement suitable for readvertising this route.
bool hasFaceId(const uint64_t faceId) const
bool hasInheritedRoute(const Route &route) const
Determines if the entry has an inherited route with a matching face ID.
void addChild(shared_ptr< RibEntry > child)
RouteList::const_iterator findInheritedRoute(const Route &route) const
Finds an inherited route with a matching face ID.
shared_ptr< RibEntry > getParent() const
const_iterator end() const
void removeChild(shared_ptr< RibEntry > child)
const RouteList & getInheritedRoutes() const
Returns the routes this namespace has inherited.
represents a route for a name prefix
void setName(const Name &prefix)
const_iterator begin() const
std::pair< RibEntry::iterator, bool > insertRoute(const Route &route)
inserts a new route into the entry's route list If another route already exists with the same faceId ...
void removeInheritedRoute(const Route &route)