diff --git a/examples/error-model/simple-error-model.cc b/examples/error-model/simple-error-model.cc index a90e4afd8..ddcc7cc21 100644 --- a/examples/error-model/simple-error-model.cc +++ b/examples/error-model/simple-error-model.cc @@ -116,9 +116,7 @@ main (int argc, char *argv[]) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (i3i2.GetAddress (1), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - + onoff.SetConstantRate (DataRate ("448kb/s")); ApplicationContainer apps = onoff.Install (c.Get (0)); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/examples/matrix-topology/matrix-topology.cc b/examples/matrix-topology/matrix-topology.cc index 81d569021..a31ebb9af 100644 --- a/examples/matrix-topology/matrix-topology.cc +++ b/examples/matrix-topology/matrix-topology.cc @@ -252,8 +252,7 @@ int main (int argc, char *argv[]) Ipv4InterfaceAddress ipv4_int_addr = ipv4->GetAddress (1, 0); Ipv4Address ip_addr = ipv4_int_addr.GetLocal (); OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress (ip_addr, port)); // traffic flows from node[i] to node[j] - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1.0]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0.0]")); + onoff.SetConstantRate (DataRate (AppPacketRate)); ApplicationContainer apps = onoff.Install (nodes.Get (i)); // traffic sources are installed on all nodes apps.Start (Seconds (AppStartTime + rn)); apps.Stop (Seconds (AppStopTime)); diff --git a/examples/routing/dynamic-global-routing.cc b/examples/routing/dynamic-global-routing.cc index 88df617fe..597dda36f 100644 --- a/examples/routing/dynamic-global-routing.cc +++ b/examples/routing/dynamic-global-routing.cc @@ -151,9 +151,7 @@ main (int argc, char *argv[]) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress (i5i6.GetAddress (1), port)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", StringValue ("2kbps")); + onoff.SetConstantRate (DataRate ("2kbps")); onoff.SetAttribute ("PacketSize", UintegerValue (50)); ApplicationContainer apps = onoff.Install (c.Get (1)); diff --git a/examples/routing/global-injection-slash32.cc b/examples/routing/global-injection-slash32.cc index a45ba22b5..d89fdd957 100644 --- a/examples/routing/global-injection-slash32.cc +++ b/examples/routing/global-injection-slash32.cc @@ -136,9 +136,7 @@ main (int argc, char *argv[]) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (ifInAddrC.GetLocal (), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (6000))); + onoff.SetConstantRate (DataRate (6000)); ApplicationContainer apps = onoff.Install (nA); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/examples/routing/global-routing-slash32.cc b/examples/routing/global-routing-slash32.cc index dcdf624fd..561f419a7 100644 --- a/examples/routing/global-routing-slash32.cc +++ b/examples/routing/global-routing-slash32.cc @@ -107,9 +107,7 @@ main (int argc, char *argv[]) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (ifInAddrC.GetLocal (), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (6000))); + onoff.SetConstantRate (DataRate (6000)); ApplicationContainer apps = onoff.Install (nA); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/examples/routing/mixed-global-routing.cc b/examples/routing/mixed-global-routing.cc index 262a5b5c5..bf4a21120 100644 --- a/examples/routing/mixed-global-routing.cc +++ b/examples/routing/mixed-global-routing.cc @@ -113,9 +113,7 @@ main (int argc, char *argv[]) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress (i5i6.GetAddress (1), port)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", StringValue ("300bps")); + onoff.SetConstantRate (DataRate ("300bps")); onoff.SetAttribute ("PacketSize", UintegerValue (50)); ApplicationContainer apps = onoff.Install (c.Get (0)); diff --git a/examples/routing/simple-alternate-routing.cc b/examples/routing/simple-alternate-routing.cc index 3c74c597a..13b2d5971 100644 --- a/examples/routing/simple-alternate-routing.cc +++ b/examples/routing/simple-alternate-routing.cc @@ -140,8 +140,7 @@ main (int argc, char *argv[]) // Create a flow from n3 to n1, starting at time 1.1 seconds OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (i1i2.GetAddress (0), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("300b/s")); ApplicationContainer apps = onoff.Install (c.Get (3)); apps.Start (Seconds (1.1)); diff --git a/examples/routing/simple-global-routing.cc b/examples/routing/simple-global-routing.cc index 4aef23610..c73454ed7 100644 --- a/examples/routing/simple-global-routing.cc +++ b/examples/routing/simple-global-routing.cc @@ -120,8 +120,7 @@ main (int argc, char *argv[]) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (i3i2.GetAddress (0), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("448kb/s")); ApplicationContainer apps = onoff.Install (c.Get (0)); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/examples/routing/static-routing-slash32.cc b/examples/routing/static-routing-slash32.cc index dc67cacdd..a2b6126d3 100644 --- a/examples/routing/static-routing-slash32.cc +++ b/examples/routing/static-routing-slash32.cc @@ -112,9 +112,7 @@ main (int argc, char *argv[]) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (ifInAddrC.GetLocal (), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (6000))); + onoff.SetConstantRate (DataRate (6000)); ApplicationContainer apps = onoff.Install (nA); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/examples/wireless/mixed-wireless.cc b/examples/wireless/mixed-wireless.cc index 642875450..a3e887c77 100644 --- a/examples/wireless/mixed-wireless.cc +++ b/examples/wireless/mixed-wireless.cc @@ -363,8 +363,8 @@ main (int argc, char *argv[]) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (remoteAddr, port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("10kb/s")); + ApplicationContainer apps = onoff.Install (appSource); apps.Start (Seconds (3.0)); apps.Stop (Seconds (20.0)); diff --git a/examples/wireless/mixed-wireless.py b/examples/wireless/mixed-wireless.py index 97921a71c..e0772db2b 100644 --- a/examples/wireless/mixed-wireless.py +++ b/examples/wireless/mixed-wireless.py @@ -301,8 +301,7 @@ def main(argv): onoff = ns.applications.OnOffHelper("ns3::UdpSocketFactory", ns.network.Address(ns.network.InetSocketAddress(remoteAddr, port))) - onoff.SetAttribute("OnTime", ns.core.StringValue ("ns3::ConstantRandomVariable[Constant=1]")) - onoff.SetAttribute("OffTime", ns.core.StringValue ("ns3::ConstantRandomVariable[Constant=0]")) + onoff.SetConstantRate (ns.network.DataRate ("10kb/s")) apps = onoff.Install(ns.network.NodeContainer(appSource)) apps.Start(ns.core.Seconds(3.0)) apps.Stop(ns.core.Seconds(20.0)) diff --git a/examples/wireless/multirate.cc b/examples/wireless/multirate.cc index d30f8ca9c..ffb8c0d94 100644 --- a/examples/wireless/multirate.cc +++ b/examples/wireless/multirate.cc @@ -355,9 +355,7 @@ Experiment::ApplicationSetup (Ptr client, Ptr server, double start, // Equipping the source node with OnOff Application used for sending OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("10.0.0.1"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (60000000))); + onoff.SetConstantRate (DataRate (60000000)); onoff.SetAttribute ("PacketSize", UintegerValue (packetSize)); onoff.SetAttribute ("Remote", AddressValue (InetSocketAddress (ipv4AddrServer, port))); diff --git a/examples/wireless/wifi-adhoc.cc b/examples/wireless/wifi-adhoc.cc index 4ab2da6ee..7a0c59013 100644 --- a/examples/wireless/wifi-adhoc.cc +++ b/examples/wireless/wifi-adhoc.cc @@ -143,9 +143,7 @@ Experiment::Run (const WifiHelper &wifi, const YansWifiPhyHelper &wifiPhy, socket.SetProtocol (1); OnOffHelper onoff ("ns3::PacketSocketFactory", Address (socket)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=250]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (60000000))); + onoff.SetConstantRate (DataRate (60000000)); onoff.SetAttribute ("PacketSize", UintegerValue (2000)); ApplicationContainer apps = onoff.Install (c.Get (0)); diff --git a/examples/wireless/wifi-ap.cc b/examples/wireless/wifi-ap.cc index e32d0a2e3..0317400b7 100644 --- a/examples/wireless/wifi-ap.cc +++ b/examples/wireless/wifi-ap.cc @@ -170,8 +170,7 @@ int main (int argc, char *argv[]) socket.SetProtocol (1); OnOffHelper onoff ("ns3::PacketSocketFactory", Address (socket)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=42]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer apps = onoff.Install (stas.Get (0)); apps.Start (Seconds (0.5)); diff --git a/examples/wireless/wifi-ap.py b/examples/wireless/wifi-ap.py index 5993f4a05..5b2e7b3aa 100644 --- a/examples/wireless/wifi-ap.py +++ b/examples/wireless/wifi-ap.py @@ -150,8 +150,7 @@ def main(argv): socket.SetProtocol(1) onoff = ns.applications.OnOffHelper("ns3::PacketSocketFactory", ns.network.Address(socket)) - onoff.SetAttribute("OnTime", ns.core.StringValue ("ns3::ConstantRandomVariable[Constant=42]")) - onoff.SetAttribute("OffTime", ns.core.StringValue ("ns3::ConstantRandomVariable[Constant=0]")) + onoff.SetConstantRate (ns.network.DataRate ("500kb/s")) apps = onoff.Install(ns.network.NodeContainer(stas.Get(0))) apps.Start(ns.core.Seconds(0.5)) diff --git a/examples/wireless/wifi-wired-bridging.cc b/examples/wireless/wifi-wired-bridging.cc index 21a97109d..c004aa447 100644 --- a/examples/wireless/wifi-wired-bridging.cc +++ b/examples/wireless/wifi-wired-bridging.cc @@ -180,8 +180,7 @@ int main (int argc, char *argv[]) } OnOffHelper onoff = OnOffHelper (protocol, dest); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer apps = onoff.Install (staNodes[0].Get (0)); apps.Start (Seconds (0.5)); apps.Stop (Seconds (3.0)); diff --git a/src/applications/bindings/modulegen__gcc_ILP32.py b/src/applications/bindings/modulegen__gcc_ILP32.py index 20dbec79c..f6d7fe0e4 100644 --- a/src/applications/bindings/modulegen__gcc_ILP32.py +++ b/src/applications/bindings/modulegen__gcc_ILP32.py @@ -2453,6 +2453,10 @@ def register_Ns3OnOffHelper_methods(root_module, cls): cls.add_method('SetAttribute', 'void', [param('std::string', 'name'), param('ns3::AttributeValue const &', 'value')]) + ## on-off-helper.h (module 'applications'): void ns3::OnOffHelper::SetConstantRate(ns3::DataRate dataRate, uint32_t packetSize=512) [member function] + cls.add_method('SetConstantRate', + 'void', + [param('ns3::DataRate', 'dataRate'), param('uint32_t', 'packetSize', default_value='512')]) return def register_Ns3PacketLossCounter_methods(root_module, cls): diff --git a/src/applications/bindings/modulegen__gcc_LP64.py b/src/applications/bindings/modulegen__gcc_LP64.py index 20dbec79c..f6d7fe0e4 100644 --- a/src/applications/bindings/modulegen__gcc_LP64.py +++ b/src/applications/bindings/modulegen__gcc_LP64.py @@ -2453,6 +2453,10 @@ def register_Ns3OnOffHelper_methods(root_module, cls): cls.add_method('SetAttribute', 'void', [param('std::string', 'name'), param('ns3::AttributeValue const &', 'value')]) + ## on-off-helper.h (module 'applications'): void ns3::OnOffHelper::SetConstantRate(ns3::DataRate dataRate, uint32_t packetSize=512) [member function] + cls.add_method('SetConstantRate', + 'void', + [param('ns3::DataRate', 'dataRate'), param('uint32_t', 'packetSize', default_value='512')]) return def register_Ns3PacketLossCounter_methods(root_module, cls): diff --git a/src/applications/helper/on-off-helper.cc b/src/applications/helper/on-off-helper.cc index 1def79cf0..28c47f3f9 100644 --- a/src/applications/helper/on-off-helper.cc +++ b/src/applications/helper/on-off-helper.cc @@ -21,7 +21,10 @@ #include "ns3/inet-socket-address.h" #include "ns3/packet-socket-address.h" #include "ns3/string.h" +#include "ns3/data-rate.h" +#include "ns3/uinteger.h" #include "ns3/names.h" +#include "ns3/random-variable-stream.h" #include "ns3/onoff-application.h" namespace ns3 { @@ -93,4 +96,13 @@ OnOffHelper::AssignStreams (NodeContainer c, int64_t stream) return (currentStream - stream); } +void +OnOffHelper::SetConstantRate (DataRate dataRate, uint32_t packetSize) +{ + m_factory.Set ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1000]")); + m_factory.Set ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + m_factory.Set ("DataRate", DataRateValue (dataRate)); + m_factory.Set ("PacketSize", UintegerValue (packetSize)); +} + } // namespace ns3 diff --git a/src/applications/helper/on-off-helper.h b/src/applications/helper/on-off-helper.h index a4115dd3c..39afc36b5 100644 --- a/src/applications/helper/on-off-helper.h +++ b/src/applications/helper/on-off-helper.h @@ -32,6 +32,8 @@ namespace ns3 { +class DataRate; + /** * \brief A helper to make it easier to instantiate an ns3::OnOffApplication * on a set of nodes. @@ -59,6 +61,16 @@ public: */ void SetAttribute (std::string name, const AttributeValue &value); + /** + * Helper function to set a constant rate source. Equivalent to + * setting the attributes OnTime to constant 1000 seconds, OffTime to + * constant 0 seconds, and the DataRate and PacketSize set accordingly + * + * \param dataRate DataRate object for the sending rate + * \param packetSize size in bytes of the packet payloads generated + */ + void SetConstantRate (DataRate dataRate, uint32_t packetSize = 512); + /** * Install an ns3::OnOffApplication on each node of the input container * configured with all the attributes set with SetAttribute. diff --git a/src/bridge/examples/csma-bridge-one-hop.cc b/src/bridge/examples/csma-bridge-one-hop.cc index a8dbe601c..ff9690af3 100644 --- a/src/bridge/examples/csma-bridge-one-hop.cc +++ b/src/bridge/examples/csma-bridge-one-hop.cc @@ -182,8 +182,7 @@ main (int argc, char *argv[]) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("10.1.1.3"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer app = onoff.Install (n0); // Start the application diff --git a/src/bridge/examples/csma-bridge.cc b/src/bridge/examples/csma-bridge.cc index 775126c74..b9239e336 100644 --- a/src/bridge/examples/csma-bridge.cc +++ b/src/bridge/examples/csma-bridge.cc @@ -112,8 +112,7 @@ main (int argc, char *argv[]) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("10.1.1.2"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer app = onoff.Install (terminals.Get (0)); // Start the application diff --git a/src/bridge/examples/csma-bridge.py b/src/bridge/examples/csma-bridge.py index 8564dd106..3b6c600b5 100644 --- a/src/bridge/examples/csma-bridge.py +++ b/src/bridge/examples/csma-bridge.py @@ -97,8 +97,7 @@ def main(argv): onoff = ns.applications.OnOffHelper("ns3::UdpSocketFactory", ns.network.Address(ns.network.InetSocketAddress(ns.network.Ipv4Address("10.1.1.2"), port))) - onoff.SetAttribute("OnTime", ns.core.StringValue ("ns3::ConstantRandomVariable[Constant=1]")) - onoff.SetAttribute("OffTime", ns.core.StringValue ("ns3::ConstantRandomVariable[Constant=0]")) + onoff.SetConstantRate (ns.network.DataRate ("500kb/s")) app = onoff.Install(ns.network.NodeContainer(terminals.Get(0))) # Start the application diff --git a/src/csma/examples/csma-broadcast.cc b/src/csma/examples/csma-broadcast.cc index 61241df22..1042e8850 100644 --- a/src/csma/examples/csma-broadcast.cc +++ b/src/csma/examples/csma-broadcast.cc @@ -92,8 +92,7 @@ main (int argc, char *argv[]) NS_LOG_INFO ("Create Applications."); OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("255.255.255.255"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer app = onoff.Install (c0.Get (0)); // Start the application diff --git a/src/csma/examples/csma-multicast.cc b/src/csma/examples/csma-multicast.cc index 009cb2396..049f1b6f3 100644 --- a/src/csma/examples/csma-multicast.cc +++ b/src/csma/examples/csma-multicast.cc @@ -134,9 +134,7 @@ main (int argc, char *argv[]) // every few seconds OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (multicastGroup, multicastPort))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate ("255b/s"))); + onoff.SetConstantRate (DataRate ("255b/s")); onoff.SetAttribute ("PacketSize", UintegerValue (128)); ApplicationContainer srcC = onoff.Install (c0.Get (0)); diff --git a/src/csma/examples/csma-one-subnet.cc b/src/csma/examples/csma-one-subnet.cc index 25b8ce483..7f2d39d06 100644 --- a/src/csma/examples/csma-one-subnet.cc +++ b/src/csma/examples/csma-one-subnet.cc @@ -89,8 +89,7 @@ main (int argc, char *argv[]) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (interfaces.GetAddress (1), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer app = onoff.Install (nodes.Get (0)); // Start the application diff --git a/src/csma/examples/csma-packet-socket.cc b/src/csma/examples/csma-packet-socket.cc index eebf6fdf8..2d84194a0 100644 --- a/src/csma/examples/csma-packet-socket.cc +++ b/src/csma/examples/csma-packet-socket.cc @@ -88,8 +88,7 @@ main (int argc, char *argv[]) socket.SetPhysicalAddress (devs.Get (1)->GetAddress ()); socket.SetProtocol (2); OnOffHelper onoff ("ns3::PacketSocketFactory", Address (socket)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer apps = onoff.Install (nodes.Get (0)); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/src/csma/examples/csma-ping.cc b/src/csma/examples/csma-ping.cc index 937b6dc25..1111d24c3 100644 --- a/src/csma/examples/csma-ping.cc +++ b/src/csma/examples/csma-ping.cc @@ -83,9 +83,7 @@ main (int argc, char *argv[]) Config::SetDefault ("ns3::Ipv4RawSocketImpl::Protocol", StringValue ("2")); InetSocketAddress dst = InetSocketAddress (addresses.GetAddress (3)); OnOffHelper onoff = OnOffHelper ("ns3::Ipv4RawSocketFactory", dst); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (15000))); + onoff.SetConstantRate (DataRate (15000)); onoff.SetAttribute ("PacketSize", UintegerValue (1200)); diff --git a/src/csma/examples/csma-raw-ip-socket.cc b/src/csma/examples/csma-raw-ip-socket.cc index 669ced657..ccf632b6b 100644 --- a/src/csma/examples/csma-raw-ip-socket.cc +++ b/src/csma/examples/csma-raw-ip-socket.cc @@ -88,9 +88,7 @@ main (int argc, char *argv[]) Config::SetDefault ("ns3::Ipv4RawSocketImpl::Protocol", StringValue ("2")); InetSocketAddress dst = InetSocketAddress (addresses.GetAddress (3)); OnOffHelper onoff = OnOffHelper ("ns3::Ipv4RawSocketFactory", dst); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (dataRate*1000))); + onoff.SetConstantRate (DataRate (dataRate*1000)); onoff.SetAttribute ("PacketSize", UintegerValue (1250)); ApplicationContainer apps = onoff.Install (c.Get (0)); diff --git a/src/olsr/examples/simple-point-to-point-olsr.cc b/src/olsr/examples/simple-point-to-point-olsr.cc index 7c85f2505..0b00a1a9c 100644 --- a/src/olsr/examples/simple-point-to-point-olsr.cc +++ b/src/olsr/examples/simple-point-to-point-olsr.cc @@ -132,8 +132,7 @@ main (int argc, char *argv[]) OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress (i34.GetAddress (1), port)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("448kb/s")); ApplicationContainer apps = onoff.Install (c.Get (0)); apps.Start (Seconds (1.0)); diff --git a/src/openflow/examples/openflow-switch.cc b/src/openflow/examples/openflow-switch.cc index 8f38e6f4d..5a6afd03b 100644 --- a/src/openflow/examples/openflow-switch.cc +++ b/src/openflow/examples/openflow-switch.cc @@ -158,8 +158,7 @@ main (int argc, char *argv[]) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("10.1.1.2"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer app = onoff.Install (terminals.Get (0)); // Start the application diff --git a/src/spectrum/examples/adhoc-aloha-ideal-phy-matrix-propagation-loss-model.cc b/src/spectrum/examples/adhoc-aloha-ideal-phy-matrix-propagation-loss-model.cc index 3e9b9015a..f6779955b 100644 --- a/src/spectrum/examples/adhoc-aloha-ideal-phy-matrix-propagation-loss-model.cc +++ b/src/spectrum/examples/adhoc-aloha-ideal-phy-matrix-propagation-loss-model.cc @@ -191,9 +191,7 @@ int main (int argc, char** argv) socket.SetProtocol (1); OnOffHelper onoff ("ns3::PacketSocketFactory", Address (socket)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=250]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (2*phyRate))); + onoff.SetConstantRate (DataRate (2*phyRate)); onoff.SetAttribute ("PacketSize", UintegerValue (pktSize)); ApplicationContainer apps = onoff.Install (c.Get (0)); diff --git a/src/spectrum/examples/adhoc-aloha-ideal-phy.cc b/src/spectrum/examples/adhoc-aloha-ideal-phy.cc index e3641d21a..ead0b4685 100644 --- a/src/spectrum/examples/adhoc-aloha-ideal-phy.cc +++ b/src/spectrum/examples/adhoc-aloha-ideal-phy.cc @@ -168,9 +168,7 @@ int main (int argc, char** argv) socket.SetProtocol (1); OnOffHelper onoff ("ns3::PacketSocketFactory", Address (socket)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=250]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate ("0.5Mbps"))); + onoff.SetConstantRate (DataRate ("0.5Mbps")); onoff.SetAttribute ("PacketSize", UintegerValue (125)); ApplicationContainer apps = onoff.Install (c.Get (0)); diff --git a/src/spectrum/test/spectrum-ideal-phy-test.cc b/src/spectrum/test/spectrum-ideal-phy-test.cc index ae736d62b..b1d3be1c0 100644 --- a/src/spectrum/test/spectrum-ideal-phy-test.cc +++ b/src/spectrum/test/spectrum-ideal-phy-test.cc @@ -184,9 +184,7 @@ SpectrumIdealPhyTestCase::DoRun (void) socket.SetProtocol (1); OnOffHelper onoff ("ns3::PacketSocketFactory", Address (socket)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=250]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (static_cast (1.2*phyRate)))); + onoff.SetConstantRate (DataRate (static_cast (1.2*phyRate))); onoff.SetAttribute ("PacketSize", UintegerValue (pktSize)); ApplicationContainer apps = onoff.Install (c.Get (0)); diff --git a/src/tap-bridge/examples/tap-wifi-dumbbell.cc b/src/tap-bridge/examples/tap-wifi-dumbbell.cc index b4c45db7b..34e439e38 100644 --- a/src/tap-bridge/examples/tap-wifi-dumbbell.cc +++ b/src/tap-bridge/examples/tap-wifi-dumbbell.cc @@ -207,8 +207,7 @@ main (int argc, char *argv[]) // uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress (interfaces.GetAddress (1), port)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("500kb/s")); ApplicationContainer apps = onoff.Install (nodesLeft.Get (3)); apps.Start (Seconds (1.0)); diff --git a/src/test/csma-system-test-suite.cc b/src/test/csma-system-test-suite.cc index abc380862..d8c5f9f4c 100644 --- a/src/test/csma-system-test-suite.cc +++ b/src/test/csma-system-test-suite.cc @@ -34,6 +34,7 @@ #include "ns3/ipv4-global-routing-helper.h" #include "ns3/ipv4-static-routing-helper.h" #include "ns3/node.h" +#include "ns3/data-rate.h" #include "ns3/node-container.h" #include "ns3/on-off-helper.h" #include "ns3/packet.h" @@ -133,9 +134,7 @@ CsmaBridgeTestCase::DoRun (void) // 4096 bits / (5000 bits/second) = 0.82 second. OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("10.1.1.2"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onoff.SetConstantRate (DataRate (5000)); ApplicationContainer app = onoff.Install (terminals.Get (0)); app.Start (Seconds (1.0)); @@ -249,9 +248,7 @@ CsmaBroadcastTestCase::DoRun (void) // 4096 bits / (5000 bits/second) = 0.82 second. OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("255.255.255.255"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onoff.SetConstantRate (DataRate (5000)); ApplicationContainer app = onoff.Install (c0.Get (0)); // Start the application @@ -406,9 +403,7 @@ CsmaMulticastTestCase::DoRun (void) // 4096 bits / (5000 bits/second) = 0.82 second. OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (multicastGroup, multicastPort))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onoff.SetConstantRate (DataRate (5000)); ApplicationContainer srcC = onoff.Install (c0.Get (0)); @@ -528,9 +523,7 @@ CsmaOneSubnetTestCase::DoRun (void) // 4096 bits / (5000 bits/second) = 0.82 second. OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (interfaces.GetAddress (1), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onoff.SetConstantRate (DataRate (5000)); ApplicationContainer app = onoff.Install (nodes.Get (0)); // Start the application @@ -646,9 +639,7 @@ CsmaPacketSocketTestCase::DoRun (void) socket.SetPhysicalAddress (devs.Get (1)->GetAddress ()); socket.SetProtocol (2); OnOffHelper onoff ("ns3::PacketSocketFactory", Address (socket)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onoff.SetConstantRate (DataRate (5000)); ApplicationContainer apps = onoff.Install (nodes.Get (0)); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); @@ -657,7 +648,6 @@ CsmaPacketSocketTestCase::DoRun (void) socket.SetPhysicalAddress (devs.Get (0)->GetAddress ()); socket.SetProtocol (3); onoff.SetAttribute ("Remote", AddressValue (socket)); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); apps = onoff.Install (nodes.Get (3)); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); @@ -762,9 +752,7 @@ CsmaPingTestCase::DoRun (void) Config::SetDefault ("ns3::Ipv4RawSocketImpl::Protocol", StringValue ("2")); InetSocketAddress dst = InetSocketAddress (addresses.GetAddress (3)); OnOffHelper onoff = OnOffHelper ("ns3::Ipv4RawSocketFactory", dst); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onoff.SetConstantRate (DataRate (5000)); ApplicationContainer apps = onoff.Install (c.Get (0)); apps.Start (Seconds (1.0)); @@ -878,9 +866,7 @@ CsmaRawIpSocketTestCase::DoRun (void) Config::SetDefault ("ns3::Ipv4RawSocketImpl::Protocol", StringValue ("2")); InetSocketAddress dst = InetSocketAddress (addresses.GetAddress (3)); OnOffHelper onoff = OnOffHelper ("ns3::Ipv4RawSocketFactory", dst); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onoff.SetConstantRate (DataRate (5000)); ApplicationContainer apps = onoff.Install (c.Get (0)); apps.Start (Seconds (1.0)); @@ -1033,9 +1019,7 @@ CsmaStarTestCase::DoRun (void) // Make packets be sent about every DefaultPacketSize / DataRate = // 4096 bits / (5000 bits/second) = 0.82 second. OnOffHelper onOffHelper ("ns3::TcpSocketFactory", Address ()); - onOffHelper.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onOffHelper.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onOffHelper.SetAttribute ("DataRate", DataRateValue (DataRate (5000))); + onOffHelper.SetConstantRate (DataRate (5000)); ApplicationContainer spokeApps; diff --git a/src/test/global-routing-test-suite.cc b/src/test/global-routing-test-suite.cc index a54d3cbc0..5ef22ff5b 100644 --- a/src/test/global-routing-test-suite.cc +++ b/src/test/global-routing-test-suite.cc @@ -199,9 +199,7 @@ DynamicGlobalRoutingTestCase::DoRun (void) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress (i5i6.GetAddress (1), port)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", StringValue ("2kbps")); + onoff.SetConstantRate (DataRate ("2kbps")); onoff.SetAttribute ("PacketSize", UintegerValue (50)); ApplicationContainer apps = onoff.Install (c.Get (1)); @@ -368,9 +366,7 @@ GlobalRoutingSlash32TestCase::DoRun (void) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (ifInAddrC.GetLocal (), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (6000))); + onoff.SetConstantRate (DataRate (6000)); ApplicationContainer apps = onoff.Install (nA); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/src/test/ns3wifi/wifi-msdu-aggregator-test-suite.cc b/src/test/ns3wifi/wifi-msdu-aggregator-test-suite.cc index b1b8bd091..cdb680107 100644 --- a/src/test/ns3wifi/wifi-msdu-aggregator-test-suite.cc +++ b/src/test/ns3wifi/wifi-msdu-aggregator-test-suite.cc @@ -149,10 +149,8 @@ WifiMsduAggregatorThroughputTest::DoRun (void) OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress (staNodeInterface.GetAddress (0), udpPort)); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate ("1Mbps"))); onoff.SetAttribute ("PacketSize", UintegerValue (100)); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("1Mbps")); ApplicationContainer sourceApp = onoff.Install (ap.Get (0)); sourceApp.Start (Seconds (1.0)); sourceApp.Stop (Seconds (9.0)); diff --git a/src/test/static-routing-test-suite.cc b/src/test/static-routing-test-suite.cc index 44ec83f72..ddda7f12d 100644 --- a/src/test/static-routing-test-suite.cc +++ b/src/test/static-routing-test-suite.cc @@ -135,9 +135,7 @@ StaticRoutingSlash32TestCase::DoRun (void) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (ifInAddrC.GetLocal (), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (6000))); + onoff.SetConstantRate (DataRate (6000)); ApplicationContainer apps = onoff.Install (nA); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0)); diff --git a/src/topology-read/examples/topology-example-sim.cc b/src/topology-read/examples/topology-example-sim.cc index 5005a82b5..e164af496 100644 --- a/src/topology-read/examples/topology-example-sim.cc +++ b/src/topology-read/examples/topology-example-sim.cc @@ -170,9 +170,7 @@ int main (int argc, char *argv[]) InetSocketAddress dst = InetSocketAddress ( ipv4AddrServer ); OnOffHelper onoff = OnOffHelper ("ns3::Ipv4RawSocketFactory", dst); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1.0]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0.0]")); - onoff.SetAttribute ("DataRate", DataRateValue (DataRate (15000))); + onoff.SetConstantRate (DataRate (15000)); onoff.SetAttribute ("PacketSize", UintegerValue (1200)); NodeContainer clientNodes; diff --git a/src/virtual-net-device/examples/virtual-net-device.cc b/src/virtual-net-device/examples/virtual-net-device.cc index 6030ad610..a8a546a4e 100644 --- a/src/virtual-net-device/examples/virtual-net-device.cc +++ b/src/virtual-net-device/examples/virtual-net-device.cc @@ -265,8 +265,7 @@ main (int argc, char *argv[]) uint16_t port = 9; // Discard port (RFC 863) OnOffHelper onoff ("ns3::UdpSocketFactory", Address (InetSocketAddress (Ipv4Address ("11.0.0.254"), port))); - onoff.SetAttribute ("OnTime", StringValue ("ns3::ConstantRandomVariable[Constant=1]")); - onoff.SetAttribute ("OffTime", StringValue ("ns3::ConstantRandomVariable[Constant=0]")); + onoff.SetConstantRate (DataRate ("448kb/s")); ApplicationContainer apps = onoff.Install (c.Get (0)); apps.Start (Seconds (1.0)); apps.Stop (Seconds (10.0));