20 #include "olsr-helper.h"
21 #include "ns3/olsr-routing-protocol.h"
22 #include "ns3/node-list.h"
23 #include "ns3/names.h"
25 #include "ns3/ipv4-list-routing.h"
31 m_agentFactory.
SetTypeId (
"ns3::olsr::RoutingProtocol");
35 : m_agentFactory (o.m_agentFactory)
37 m_interfaceExclusions = o.m_interfaceExclusions;
49 std::map< Ptr<Node>, std::set<uint32_t> >::iterator it = m_interfaceExclusions.find (node);
51 if(it == m_interfaceExclusions.end ())
53 std::set<uint32_t> interfaces;
54 interfaces.insert (interface);
56 m_interfaceExclusions.insert (std::make_pair (node, std::set<uint32_t> (interfaces) ));
60 it->second.insert (interface);
69 std::map<Ptr<Node>, std::set<uint32_t> >::const_iterator it = m_interfaceExclusions.find (node);
71 if(it != m_interfaceExclusions.end ())
73 agent->SetInterfaceExclusions (it->second);
83 m_agentFactory.
Set (name, value);
89 int64_t currentStream = stream;
91 for (NodeContainer::Iterator i = c.
Begin (); i != c.
End (); ++i)
101 currentStream += olsr->AssignStreams (currentStream);
111 for (uint32_t i = 0; i < list->GetNRoutingProtocols (); i++)
113 listProto = list->GetRoutingProtocol (i, priority);
114 listOlsr = DynamicCast<olsr::RoutingProtocol> (listProto);
117 currentStream += listOlsr->AssignStreams (currentStream);
123 return (currentStream - stream);
Hold a value for an Attribute.
virtual Ptr< Ipv4RoutingProtocol > Create(Ptr< Node > node) const
void Set(std::string name, const AttributeValue &value)
int64_t AssignStreams(NodeContainer c, int64_t stream)
void SetTypeId(TypeId tid)
Helper class that adds OLSR routing to nodes.
Iterator End(void) const
Get an iterator which indicates past-the-last Node in the container.
Ptr< Object > Create(void) const
OLSR routing protocol for IPv4.
OlsrHelper * Copy(void) const
void AggregateObject(Ptr< Object > other)
Access to the Ipv4 forwarding table, interfaces, and configuration.
keep track of a set of node pointers.
Iterator Begin(void) const
Get an iterator which refers to the first Node in the container.
void Set(std::string name, const AttributeValue &value)
#define NS_ASSERT_MSG(condition, message)
void ExcludeInterface(Ptr< Node > node, uint32_t interface)
Ptr< T > GetObject(void) const