branch merge
authorCraig Dowell <craigdo@ee.washington.edu>
Mon Aug 04 17:32:49 2008 -0700 (18 months ago)
changeset 350711bfc339df59
parent 3506 cba7b2b80fe8
parent 3505 16005bad2e0b
child 3508 7a3c6148c22d
branch merge
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/CHANGES.html	Mon Aug 04 17:32:49 2008 -0700
     1.3 @@ -0,0 +1,164 @@
     1.4 +<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
     1.5 +<html>
     1.6 +<head>
     1.7 +   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
     1.8 +   <title>ns-3 Change Log</title>
     1.9 +</head>
    1.10 +<body>
    1.11 +
    1.12 +<h1>
    1.13 +ns-3: API and model change history</h1>
    1.14 +<!--
    1.15 +This ChangeLog is updated in the reverse order 
    1.16 +with the most recent changes coming first.  Date format:  DD-MM-YYYY
    1.17 +-->
    1.18 +<p>
    1.19 +ns-3 is an evolving system and there will be API or behavioral changes
    1.20 +from time to time.   Users who try to use scripts or models across
    1.21 +versions of ns-3 may encounter problems at compile time, run time, or
    1.22 +may see the simulation output change.  </p>
    1.23 +<p>
    1.24 +We have adopted the development policy that we are going to try to ease
    1.25 +the impact of these changes on users by documenting these changes in a
    1.26 +single place (this file), and not by providing a temporary or permanent
    1.27 +backward-compatibility software layer.  </p>
    1.28 +<p>
    1.29 +The goal is that users who encounter a problem when trying to use older
    1.30 +code with newer code should be able to consult this file to find
    1.31 +guidance as to how to fix the problem.  For instance, if a method name
    1.32 +or signature has changed, it should be stated what the new replacement
    1.33 +name is. </p>
    1.34 +<p>
    1.35 +Note that users who upgrade the simulator across versions, or who work
    1.36 +directly out of the development tree, may find that simulation output
    1.37 +changes even when the compilation doesn't break, such as when a
    1.38 +simulator default value is changed.  Therefore, it is good practice for
    1.39 +_anyone_ using code across multiple ns-3 releases to consult this file,
    1.40 +as well as the RELEASE_NOTES, to understand what has changed over time.
    1.41 +</p>
    1.42 +<p>
    1.43 +This file is a best-effort approach to solving this issue; we will do
    1.44 +our best but can guarantee that there will be things that fall through
    1.45 +the cracks, unfortunately.  If you, as a user, can suggest improvements
    1.46 +to this file based on your experience, please contribute a patch or drop
    1.47 +us a note on ns-developers mailing list.  </p>
    1.48 +
    1.49 +<hr>
    1.50 +<h1>changes from ns-3.1 to ns-3.2</h1>
    1.51 +<h2>new API in existing classes:</h2>
    1.52 +
    1.53 +<ul>
    1.54 +<li>01-08-2008; changeset 
    1.55 +<a href="http://code.nsnam.org/ns-3-dev/rev/a18520551cdf">a18520551cdf</a></li>
    1.56 +<ul>
    1.57 +<li>class ArpCache has two new attributes:  MaxRetries 
    1.58 +and a Drop trace.  It also has some new public methods but these are 
    1.59 +mostly for internal use.
    1.60 +</ul>
    1.61 +</li>
    1.62 +</ul>
    1.63 +
    1.64 +<h2>changes to existing API:</h2>
    1.65 +
    1.66 +<ul>
    1.67 +<li>21-07-2008; changeset 
    1.68 +<a href="
    1.69 +http://code.nsnam.org/ns-3-dev/rev/99698bc858e8">99698bc858e8</a></li>
    1.70 +<ul>
    1.71 +<li> class NetDevice has added a pure virtual method that
    1.72 +must be implemented by all subclasses:
    1.73 +<pre>
    1.74 +virtual void SetPromiscReceiveCallback (PromiscReceiveCallback cb) = 0;
    1.75 +</pre>
    1.76 +All NetDevices must support this method, and must call this callback
    1.77 +when processing packets in the receive direction (the appropriate place
    1.78 +to call this is device-dependent).  An approach to stub this out
    1.79 +temporarily, if you do not care about immediately enabling this
    1.80 +functionality, would be to add this to your device:
    1.81 +<pre>
    1.82 +void
    1.83 +ExampleNetDevice::SetPromiscReceiveCallback
    1.84 +(NetDevice::PromiscReceiveCallback cb)
    1.85 +{ 
    1.86 +  NS_ASSERT_MSG (false, "No implementation yet for
    1.87 +SetPromiscReceiveCallback");
    1.88 +}
    1.89 +</pre>
    1.90 +To implement this properly, consult the CsmaNetDevice for examples of
    1.91 +when the m_promiscRxCallback is called.
    1.92 +</li>
    1.93 +</ul>
    1.94 +</li>
    1.95 +</ul>
    1.96 +
    1.97 +<ul>
    1.98 +<li>03-07-2008; changeset 
    1.99 +<a href="http://code.nsnam.org/ns-3-dev/rev/d5f8e5fae1c6">d5f8e5fae1c6</a></li>
   1.100 +<ul>
   1.101 +<li>
   1.102 +Miscellaneous cleanup of Udp Helper API, to fix bug 234
   1.103 +<pre>
   1.104 +class UdpEchoServerHelper
   1.105 +{
   1.106 +public:
   1.107 +- UdpEchoServerHelper ();
   1.108 +- void SetPort (uint16_t port); 
   1.109 ++ UdpEchoServerHelper (uint16_t port);
   1.110 ++ 
   1.111 ++ void SetAttribute (std::string name, const AttributeValue &value);
   1.112 +ApplicationContainer Install (NodeContainer c);
   1.113 +
   1.114 +class UdpEchoClientHelper
   1.115 +{
   1.116 +public:
   1.117 +- UdpEchoClientHelper ();
   1.118 ++ UdpEchoClientHelper (Ipv4Address ip, uint16_t port);
   1.119 +- void SetRemote (Ipv4Address ip, uint16_t port);
   1.120 +- void SetAppAttribute (std::string name, const AttributeValue &value);
   1.121 ++ void SetAttribute (std::string name, const AttributeValue &value);
   1.122 +ApplicationContainer Install (NodeContainer c);
   1.123 +</pre>
   1.124 +</li>
   1.125 +</ul>
   1.126 +</li>
   1.127 +</ul>
   1.128 +
   1.129 +<ul>
   1.130 +<li>03-07-2008; changeset 
   1.131 +<a href="
   1.132 +http://code.nsnam.org/ns-3-dev/rev/3cdd9d60f7c7">3cdd9d60f7c7</a></li>
   1.133 +<ul>
   1.134 +<li>
   1.135 +Rename all instances method names using "Set..Parameter" to "Set..Attribute"
   1.136 +(bug 232)
   1.137 +</li>
   1.138 +<li> How to fix your code:  Any use of helper API that was using a method
   1.139 +"Set...Parameter()" should be changed to read "Set...Attribute()".  e.g.
   1.140 +<pre>
   1.141 +- csma.SetChannelParameter ("DataRate", DataRateValue (5000000));
   1.142 +- csma.SetChannelParameter ("Delay", TimeValue (MilliSeconds (2)));
   1.143 ++ csma.SetChannelAttribute ("DataRate", DataRateValue (5000000));
   1.144 ++ csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2)));
   1.145 +</pre>
   1.146 +</li>
   1.147 +</ul>
   1.148 +</li>
   1.149 +</ul>
   1.150 +
   1.151 +<h2>changed behavior:</h2>
   1.152 +<ul>
   1.153 +<li> 28-07-2008; changeset 
   1.154 +<a href="http://code.nsnam.org/ns-3-dev/rev/6f68f1044df1">6f68f1044df1</a>
   1.155 +<ul>
   1.156 +<li>
   1.157 +OLSR: HELLO messages hold time changed to 3*hello
   1.158 +interval from hello interval.  This is an important bug fix as
   1.159 +hold time == refresh time was never intentional, as it leads to
   1.160 +instability in neighbor detection.
   1.161 +</ul>
   1.162 +</li>
   1.163 +</ul>
   1.164 +</li>
   1.165 +
   1.166 +</body>
   1.167 +</html>