diff --git a/examples/simple-p2p.cc b/examples/simple-p2p.cc index 5eb17cb00..00104109f 100644 --- a/examples/simple-p2p.cc +++ b/examples/simple-p2p.cc @@ -92,7 +92,8 @@ int main (int argc, char *argv[]) // instantiate, when the queue factory is invoked in the topology code Bind ("Queue", "DropTailQueue"); - Bind ("on-off-app-packet-size", "210"); + Bind ("OnOffApplicationPacketSize", "210"); + Bind ("OnOffApplicationDataRate", "448kb/s"); //Bind ("DropTailQueue::m_maxPackets", 30); diff --git a/src/applications/onoff-application.cc b/src/applications/onoff-application.cc index 182650a20..6ee5c6763 100644 --- a/src/applications/onoff-application.cc +++ b/src/applications/onoff-application.cc @@ -38,11 +38,12 @@ using namespace std; namespace ns3 { // Defaults for rate/size -DataRate OnOffApplication::g_defaultRate = DataRate(500000); -static IntegerDefaultValue g_defaultSize ("on-off-app-packet-size", - "The size of packets send by OnOffApplication instances", +static DataRateDefaultValue g_defaultRate ("OnOffApplicationDataRate", + "The data rate in on state for OnOffApplication", + DataRate ("500kb/s")); +static IntegerDefaultValue g_defaultSize ("OnOffApplicationPacketSize", + "The size of packets sent in on state for OnOffApplication", 512, 1); - // Constructors OnOffApplication::OnOffApplication(Ptr n, @@ -51,7 +52,7 @@ OnOffApplication::OnOffApplication(Ptr n, const RandomVariable& ontime, const RandomVariable& offtime) : Application(n), - m_cbrRate (g_defaultRate) + m_cbrRate (g_defaultRate.GetValue ()) { Construct (n, rip, rport, ontime, offtime, g_defaultSize.GetValue ()); @@ -101,6 +102,11 @@ OnOffApplication::SetMaxBytes(uint32_t maxBytes) m_maxBytes = maxBytes; } +void +OnOffApplication::SetDefaultRate (const DataRate &rate) +{ + g_defaultRate.SetValue (rate); +} void OnOffApplication::SetDefaultSize (uint32_t size) { diff --git a/src/applications/onoff-application.h b/src/applications/onoff-application.h index af7c24914..82db582e0 100644 --- a/src/applications/onoff-application.h +++ b/src/applications/onoff-application.h @@ -81,7 +81,7 @@ public: void SetMaxBytes(uint32_t maxBytes); - static void DefaultRate(uint64_t r) { g_defaultRate = r;} + static void SetDefaultRate(const DataRate & r); static void SetDefaultSize (uint32_t size); @@ -121,9 +121,6 @@ private: EventId m_sendEvent; // Eventid of pending "send packet" event bool m_sending; // True if currently in sending state -public: - static DataRate g_defaultRate; // Default sending rate when on - private: void ScheduleNextTx(); void ScheduleStartEvent();