45 |
45 |
46 <hr> |
46 <hr> |
47 <h1>changes from ns-3.1 to ns-3.2</h1> |
47 <h1>changes from ns-3.1 to ns-3.2</h1> |
48 |
48 |
49 <h2>new API:</h2> |
49 <h2>new API:</h2> |
|
50 <ul> |
50 |
51 |
51 <li>26-08-2008; changeset |
52 <li>26-08-2008; changeset |
52 <a href="http://code.nsnam.org/ns-3-dev/rev/5aa65b1ea001">5aa65b1ea001</a></li> |
53 <a href="http://code.nsnam.org/ns-3-dev/rev/5aa65b1ea001">5aa65b1ea001</a></li> |
53 <ul> |
54 <ul> |
54 <li> |
55 <li> |
55 Add multithreaded and real-time simulator implementation. Allows for emulated |
56 Add multithreaded and real-time simulator implementation. Allows for emulated |
56 net devices running in threads other than the main simulation thread to schedule |
57 net devices running in threads other than the main simulation thread to schedule |
57 events. Allows for pacing the simulation clock at 1x real-time. |
58 events. Allows for pacing the simulation clock at 1x real-time. |
58 </li> |
59 </li> |
59 </ul> |
60 </ul> |
60 </li> |
|
61 |
61 |
62 |
62 |
63 <li>26-08-2008; changeset |
63 <li>26-08-2008; changeset |
64 <a href="http://code.nsnam.org/ns-3-dev/rev/c69779f5e51e">c69779f5e51e</a></li> |
64 <a href="http://code.nsnam.org/ns-3-dev/rev/c69779f5e51e">c69779f5e51e</a></li> |
65 <ul> |
65 <ul> |
66 <li> |
66 <li> |
67 Add threading and synchronization primitives. Enabling technology for |
67 Add threading and synchronization primitives. Enabling technology for |
68 multithreaded simulator implementation. |
68 multithreaded simulator implementation. |
69 </li> |
69 </li> |
70 </ul> |
70 </ul> |
71 </li> |
71 |
72 |
72 </ul> |
73 <h2>new API in existing classes:</h2> |
73 <h2>new API in existing classes:</h2> |
74 |
74 <ul> |
75 <ul> |
75 |
76 <li>01-08-2008; changeset |
76 <li>01-08-2008; changeset |
77 <a href="http://code.nsnam.org/ns-3-dev/rev/a18520551cdf">a18520551cdf</a></li> |
77 <a href="http://code.nsnam.org/ns-3-dev/rev/a18520551cdf">a18520551cdf</a></li> |
78 <ul> |
78 <ul> |
79 <li>class ArpCache has two new attributes: MaxRetries |
79 <li>class ArpCache has two new attributes: MaxRetries |
80 and a Drop trace. It also has some new public methods but these are |
80 and a Drop trace. It also has some new public methods but these are |
81 mostly for internal use. |
81 mostly for internal use. |
82 </ul> |
82 </ul> |
83 </li> |
83 </li> |
84 </ul> |
84 |
85 |
85 </ul> |
86 <h2>changes to existing API:</h2> |
86 <h2>changes to existing API:</h2> |
|
87 <ul> |
87 |
88 |
88 <li>05-09-2008; changeset |
89 <li>05-09-2008; changeset |
89 <a href="http://code.nsnam.org/ns-3-dev/rev/aa1fb0f43571">aa1fb0f43571</a></li> |
90 <a href="http://code.nsnam.org/ns-3-dev/rev/aa1fb0f43571">aa1fb0f43571</a></li> |
90 <ul> |
91 <ul> |
91 <li> |
92 <li> |
95 MAC MTU simply MTU and to use the overall packet size as the PHY-level attribute |
96 MAC MTU simply MTU and to use the overall packet size as the PHY-level attribute |
96 of interest. See the Doxygen of CsmaNetDevice::SetFrameSize and |
97 of interest. See the Doxygen of CsmaNetDevice::SetFrameSize and |
97 PointToPointNetDevice::SetFrameSize for a detailed description. |
98 PointToPointNetDevice::SetFrameSize for a detailed description. |
98 </li> |
99 </li> |
99 </ul> |
100 </ul> |
100 </li> |
101 |
101 |
|
102 <ul> |
|
103 <li>25-08-2008; changeset |
102 <li>25-08-2008; changeset |
104 <a href="http://code.nsnam.org/ns-3-dev/rev/e5ab96db540e">e5ab96db540e</a></li> |
103 <a href="http://code.nsnam.org/ns-3-dev/rev/e5ab96db540e">e5ab96db540e</a></li> |
105 <ul> |
104 <ul> |
106 <li> |
105 <li> |
107 bug 273: constify packet pointers.<br> |
106 bug 273: constify packet pointers.<br> |
122 <a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=273">bug 273</a>. |
121 <a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=273">bug 273</a>. |
123 Users who implement a subclass of the NetDevice base class need to change the signature |
122 Users who implement a subclass of the NetDevice base class need to change the signature |
124 of their SetReceiveCallback and SetPromiscReceiveCallback methods. |
123 of their SetReceiveCallback and SetPromiscReceiveCallback methods. |
125 </li> |
124 </li> |
126 </ul> |
125 </ul> |
127 </li> |
|
128 |
126 |
129 |
127 |
130 <li>04-08-2008; changeset |
128 <li>04-08-2008; changeset |
131 <a href="http://code.nsnam.org/ns-3-dev/rev/cba7b2b80fe8">cba7b2b80fe8</a></li> |
129 <a href="http://code.nsnam.org/ns-3-dev/rev/cba7b2b80fe8">cba7b2b80fe8</a></li> |
132 <ul> |
130 <ul> |
142 mode, MAC MTU and PHY MTU while keeping the three values consistent. See the |
140 mode, MAC MTU and PHY MTU while keeping the three values consistent. See the |
143 Doxygen of CsmaNetDevice::SetMaxPayloadLength for a detailed description of the |
141 Doxygen of CsmaNetDevice::SetMaxPayloadLength for a detailed description of the |
144 issues and solution. |
142 issues and solution. |
145 </li> |
143 </li> |
146 </ul> |
144 </ul> |
147 </li> |
|
148 |
|
149 |
145 |
150 <li>21-07-2008; changeset |
146 <li>21-07-2008; changeset |
151 <a href=" |
147 <a href=" |
152 http://code.nsnam.org/ns-3-dev/rev/99698bc858e8">99698bc858e8</a></li> |
148 http://code.nsnam.org/ns-3-dev/rev/99698bc858e8">99698bc858e8</a></li> |
153 <ul> |
149 <ul> |
172 </pre> |
168 </pre> |
173 To implement this properly, consult the CsmaNetDevice for examples of |
169 To implement this properly, consult the CsmaNetDevice for examples of |
174 when the m_promiscRxCallback is called. |
170 when the m_promiscRxCallback is called. |
175 </li> |
171 </li> |
176 </ul> |
172 </ul> |
177 </li> |
|
178 |
173 |
179 |
174 |
180 <li>03-07-2008; changeset |
175 <li>03-07-2008; changeset |
181 <a href="http://code.nsnam.org/ns-3-dev/rev/d5f8e5fae1c6">d5f8e5fae1c6</a></li> |
176 <a href="http://code.nsnam.org/ns-3-dev/rev/d5f8e5fae1c6">d5f8e5fae1c6</a></li> |
182 <ul> |
177 <ul> |
225 + csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2))); |
218 + csma.SetChannelAttribute ("Delay", TimeValue (MilliSeconds (2))); |
226 </pre> |
219 </pre> |
227 </li> |
220 </li> |
228 </ul> |
221 </ul> |
229 </li> |
222 </li> |
230 </ul> |
223 |
231 |
224 </ul> |
232 <h2>changed behavior:</h2> |
225 <h2>changed behavior:</h2> |
233 <ul> |
226 <ul> |
234 |
227 |
235 <li>07-09-2008; changeset |
228 <li>07-09-2008; changeset |
236 <a href="http://code.nsnam.org/ns-3-dev/rev/5d836ab1523b">5d836ab1523b</a></li> |
229 <a href="http://code.nsnam.org/ns-3-dev/rev/5d836ab1523b">5d836ab1523b</a></li> |
237 <ul> |
230 <ul> |
|
231 |
238 <li> |
232 <li> |
239 Implement a finite receive buffer for TCP<br> |
233 Implement a finite receive buffer for TCP<br> |
240 The native TCP model in TcpSocketImpl did not support a finite receive buffer. |
234 The native TCP model in TcpSocketImpl did not support a finite receive buffer. |
241 This changeset adds the following functionality in this regard: |
235 This changeset adds the following functionality in this regard: |
242 <ul> |
236 <ul> |
262 zero-window ACKs of the old data so long as the receiver buffer remains full. |
256 zero-window ACKs of the old data so long as the receiver buffer remains full. |
263 When the receiver window clears up due to an application read, the TCP |
257 When the receiver window clears up due to an application read, the TCP |
264 will finally ACK the probe byte, and update its advertised window appropriately. |
258 will finally ACK the probe byte, and update its advertised window appropriately. |
265 </li> |
259 </li> |
266 </ul> |
260 </ul> |
267 |
|
268 See |
261 See |
269 <a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=239"> bug 239 </a> for |
262 <a href="http://www.nsnam.org/bugzilla/show_bug.cgi?id=239"> bug 239 </a> for |
270 more. |
263 more. |
271 </li> |
264 </li> |
272 </ul> |
265 </ul> |
273 </li> |
|
274 |
266 |
275 <li>07-09-2008; changeset |
267 <li>07-09-2008; changeset |
276 <a href="http://code.nsnam.org/ns-3-dev/rev/7afa66c2b291">7afa66c2b291</a></li> |
268 <a href="http://code.nsnam.org/ns-3-dev/rev/7afa66c2b291">7afa66c2b291</a></li> |
277 <ul> |
269 <ul> |
278 <li> |
270 <li> |