Ptr<Application> BulkSendHelper::InstallPriv (Ptr<Node> node) const { Ptr<Application> app = m_factory.Create<Application> (); node->AddApplication (app); return app; }
ApplicationContainer RadvdHelper::Install (Ptr<Node> node) { ApplicationContainer apps; Ptr<Radvd> radvd = m_factory.Create<Radvd> (); for (RadvdInterfaceMapI iter = m_radvdInterfaces.begin(); iter != m_radvdInterfaces.end(); iter ++) { if (!iter->second->GetPrefixes().empty()) { radvd->AddConfiguration(iter->second); } } node->AddApplication (radvd); apps.Add (radvd); return apps; }
Ptr<Socket> uniFlow(Address sinkAddress, uint32_t sinkPort, string tcpVariant, Ptr<Node> hostNode, Ptr<Node> sinkNode, double startTime, double stopTime, uint32_t packetSize, uint32_t numPackets, std::string dataRate, double appStartTime, double appStopTime) { //if tcp socket is Reno set it to default and so on for Tahoe and Westwood if(tcpVariant.compare("TcpReno") == 0) Config::SetDefault("ns3::TcpL4Protocol::SocketType", TypeIdValue(TcpReno::GetTypeId())); else if(tcpVariant.compare("TcpTahoe") == 0) Config::SetDefault("ns3::TcpL4Protocol::SocketType", TypeIdValue(TcpTahoe::GetTypeId())); else if(tcpVariant.compare("TcpWestwood") == 0) Config::SetDefault("ns3::TcpL4Protocol::SocketType", TypeIdValue(TcpWestwood::GetTypeId())); else { fprintf(stderr, "Invalid TCP version\n"); exit(EXIT_FAILURE); } //setup the sink PacketSinkHelper packetSinkHelper("ns3::TcpSocketFactory", InetSocketAddress(Ipv4Address::GetAny(), sinkPort)); ApplicationContainer sinkApps = packetSinkHelper.Install(sinkNode); sinkApps.Start(Seconds(startTime)); sinkApps.Stop(Seconds(stopTime)); Ptr<Socket> ns3TcpSocket = Socket::CreateSocket(hostNode, TcpSocketFactory::GetTypeId()); //setup the source Ptr<MyApp> app = CreateObject<MyApp>(); app->Setup(ns3TcpSocket, sinkAddress, packetSize, numPackets, DataRate(dataRate)); hostNode->AddApplication(app); app->SetStartTime(Seconds(appStartTime)); app->SetStopTime(Seconds(appStopTime)); return ns3TcpSocket; }