diff --git a/CHANGES.html b/CHANGES.html new file mode 100644 index 000000000..32362296c --- /dev/null +++ b/CHANGES.html @@ -0,0 +1,164 @@ + + +
+ ++ns-3 is an evolving system and there will be API or behavioral changes +from time to time. Users who try to use scripts or models across +versions of ns-3 may encounter problems at compile time, run time, or +may see the simulation output change.
++We have adopted the development policy that we are going to try to ease +the impact of these changes on users by documenting these changes in a +single place (this file), and not by providing a temporary or permanent +backward-compatibility software layer.
++The goal is that users who encounter a problem when trying to use older +code with newer code should be able to consult this file to find +guidance as to how to fix the problem. For instance, if a method name +or signature has changed, it should be stated what the new replacement +name is.
++Note that users who upgrade the simulator across versions, or who work +directly out of the development tree, may find that simulation output +changes even when the compilation doesn't break, such as when a +simulator default value is changed. Therefore, it is good practice for +_anyone_ using code across multiple ns-3 releases to consult this file, +as well as the RELEASE_NOTES, to understand what has changed over time. +
++This file is a best-effort approach to solving this issue; we will do +our best but can guarantee that there will be things that fall through +the cracks, unfortunately. If you, as a user, can suggest improvements +to this file based on your experience, please contribute a patch or drop +us a note on ns-developers mailing list.
+ ++virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb) = 0; ++All NetDevices must support this method, and must call this callback +when processing packets in the receive direction (the appropriate place +to call this is device-dependent). An approach to stub this out +temporarily, if you do not care about immediately enabling this +functionality, would be to add this to your device: +
+void
+ExampleNetDevice::SetPromiscReceiveCallback
+(NetDevice::PromiscReceiveCallback cb)
+{
+ NS_ASSERT_MSG (false, "No implementation yet for
+SetPromiscReceiveCallback");
+}
+
+To implement this properly, consult the CsmaNetDevice for examples of
+when the m_promiscRxCallback is called.
+
+class UdpEchoServerHelper
+{
+public:
+- UdpEchoServerHelper ();
+- void SetPort (uint16_t port);
++ UdpEchoServerHelper (uint16_t port);
++
++ void SetAttribute (std::string name, const AttributeValue &value);
+ApplicationContainer Install (NodeContainer c);
+
+class UdpEchoClientHelper
+{
+public:
+- UdpEchoClientHelper ();
++ UdpEchoClientHelper (Ipv4Address ip, uint16_t port);
+- void SetRemote (Ipv4Address ip, uint16_t port);
+- void SetAppAttribute (std::string name, const AttributeValue &value);
++ void SetAttribute (std::string name, const AttributeValue &value);
+ApplicationContainer Install (NodeContainer c);
+
+
+- csma.SetChannelParameter ("DataRate", DataRateValue (5000000));
+- csma.SetChannelParameter ("Delay", TimeValue (MilliSeconds (2)));
++ csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
++ csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2)));
+
+