20 #ifndef NDN_GLOBAL_ROUTER_H 21 #define NDN_GLOBAL_ROUTER_H 23 #include "ns3/ndnSIM/model/ndn-common.hpp" 24 #include "ns3/ndnSIM/model/ndn-face.hpp" 26 #include "ns3/object.h" 49 typedef std::tuple<Ptr<GlobalRouter>, shared_ptr<Face>, Ptr<GlobalRouter>>
Incidency;
108 const LocalPrefixList&
125 Ptr<L3Protocol> m_ndn;
126 LocalPrefixList m_localPrefixes;
127 IncidencyList m_incidencies;
129 static uint32_t m_idCounter;
135 return std::get<0>(a) == std::get<0>(b) && std::get<1>(a) == std::get<1>(b)
136 && std::get<2>(a) == std::get<2>(b);
148 #endif // NDN_GLOBAL_ROUTER_H void AddLocalPrefix(shared_ptr< Name > prefix)
Add new locally exported prefix.
Copyright (c) 2011-2015 Regents of the University of California.
GlobalRouter()
Default constructor.
std::list< shared_ptr< Name > > LocalPrefixList
List of locally exported prefixes.
Class representing global router interface for ndnSIM.
std::tuple< Ptr< GlobalRouter >, shared_ptr< Face >, Ptr< GlobalRouter > > Incidency
Graph edge.
void AddIncidency(shared_ptr< Face > face, Ptr< GlobalRouter > ndn)
Add edge to the node.
virtual void NotifyNewAggregate()
Notify when the object is aggregated to another object (e.g., Node)
uint32_t GetId() const
Get numeric ID of the node (internally assigned)
std::list< Incidency > IncidencyList
List of graph edges.
Copyright (c) 2011-2015 Regents of the University of California.
IncidencyList & GetIncidencies()
Get list of edges that are connected to this node.
ndn L3Protocol
Copyright (c) 2011-2015 Regents of the University of California.
static TypeId GetTypeId()
Interface ID.
bool operator!=(const GlobalRouter::Incidency &a, const GlobalRouter::Incidency &b)
Ptr< L3Protocol > GetL3Protocol() const
Helper function to get smart pointer to ndn::L3Protocol object (basically, self)
static void clear()
Clear global state.
const LocalPrefixList & GetLocalPrefixes() const
Get list of locally exported prefixes.
bool operator==(const GlobalRouter::Incidency &a, const GlobalRouter::Incidency &b)