24 #ifndef CLICK_INTERNET_STACK_HELPER_H
25 #define CLICK_INTERNET_STACK_HELPER_H
27 #include "ns3/node-container.h"
28 #include "ns3/net-device-container.h"
29 #include "ns3/packet.h"
31 #include "ns3/object-factory.h"
32 #include "ns3/ipv4-l3-protocol.h"
33 #include "ns3/ipv6-l3-protocol.h"
34 #include "ns3/internet-trace-helper.h"
40 class Ipv4RoutingHelper;
49 class ClickInternetStackHelper :
public PcapHelperForIpv4,
50 public AsciiTraceHelperForIpv4
56 ClickInternetStackHelper (
void);
61 virtual ~ClickInternetStackHelper (
void);
62 ClickInternetStackHelper (
const ClickInternetStackHelper &);
63 ClickInternetStackHelper &operator = (
const ClickInternetStackHelper &o);
77 void Install (std::string nodeName)
const;
86 void Install (Ptr<Node> node)
const;
97 void Install (NodeContainer c)
const;
102 void InstallAll (
void)
const;
115 void SetTcp (std::string tid);
129 void SetTcp (std::string tid, std::string attr,
const AttributeValue &val);
136 void SetClickFile (NodeContainer c, std::string clickfile);
143 void SetClickFile (Ptr<Node> node, std::string clickfile);
150 void SetDefines (NodeContainer c, std::map<std::string, std::string> defines);
157 void SetDefines (Ptr<Node> node, std::map<std::string, std::string> defines);
164 void SetRoutingTableElement (NodeContainer c, std::string rt);
171 void SetRoutingTableElement (Ptr<Node> node, std::string rt);
180 virtual void EnablePcapIpv4Internal (std::string prefix,
183 bool explicitFilename);
194 virtual void EnableAsciiIpv4Internal (Ptr<OutputStreamWrapper> stream,
198 bool explicitFilename);
200 void Initialize (
void);
201 ObjectFactory m_tcpFactory;
203 static void CreateAndAggregateObjectFromTypeId (Ptr<Node> node,
const std::string typeId);
205 static void Cleanup (
void);
207 bool PcapHooked (Ptr<Ipv4> ipv4);
209 bool AsciiHooked (Ptr<Ipv4> ipv4);
219 std::map < Ptr<Node>, std::string > m_nodeToClickFileMap;
224 std::map < Ptr<Node>, std::map<std::string, std::string> > m_nodeToDefinesMap;
229 std::map < Ptr<Node>, std::string > m_nodeToRoutingTableElementMap;
void Reset(void)
Reset the initial value of every attribute as well as the value of every global to what they were bef...
Every class exported by the ns3 library is enclosed in the ns3 namespace.