LEFT | RIGHT |
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ | 1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
2 /* | 2 /* |
3 * Copyright (c) 2007-2009 Strasbourg University | 3 * Copyright (c) 2007-2009 Strasbourg University |
4 * | 4 * |
5 * This program is free software; you can redistribute it and/or modify | 5 * This program is free software; you can redistribute it and/or modify |
6 * it under the terms of the GNU General Public License version 2 as | 6 * it under the terms of the GNU General Public License version 2 as |
7 * published by the Free Software Foundation; | 7 * published by the Free Software Foundation; |
8 * | 8 * |
9 * This program is distributed in the hope that it will be useful, | 9 * This program is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 17 matching lines...) Expand all Loading... |
28 #include "ns3/ptr.h" | 28 #include "ns3/ptr.h" |
29 #include "ns3/object.h" | 29 #include "ns3/object.h" |
30 #include "ns3/timer.h" | 30 #include "ns3/timer.h" |
31 | 31 |
32 namespace ns3 | 32 namespace ns3 |
33 { | 33 { |
34 | 34 |
35 class NetDevice; | 35 class NetDevice; |
36 class Packet; | 36 class Packet; |
37 class Node; | 37 class Node; |
| 38 class TrafficControlLayer; |
38 class NdiscCache; | 39 class NdiscCache; |
39 | 40 |
40 /** | 41 /** |
41 * \class Ipv6Interface | 42 * \class Ipv6Interface |
42 * \brief The IPv6 representation of a network interface | 43 * \brief The IPv6 representation of a network interface |
43 * | 44 * |
44 * By default IPv6 interfaces are created in the "down" state | 45 * By default IPv6 interfaces are created in the "down" state |
45 * with IP "fe80::1" and a /64 prefix. Before becoming usable, | 46 * with IP "fe80::1" and a /64 prefix. Before becoming usable, |
46 * the user must invoke SetUp on them once the final IPv6 address | 47 * the user must invoke SetUp on them once the final IPv6 address |
47 * and mask has been set. | 48 * and mask has been set. |
(...skipping 23 matching lines...) Expand all Loading... |
71 */ | 72 */ |
72 void SetNode (Ptr<Node> node); | 73 void SetNode (Ptr<Node> node); |
73 | 74 |
74 /** | 75 /** |
75 * \brief Set the NetDevice. | 76 * \brief Set the NetDevice. |
76 * \param device NetDevice | 77 * \param device NetDevice |
77 */ | 78 */ |
78 void SetDevice (Ptr<NetDevice> device); | 79 void SetDevice (Ptr<NetDevice> device); |
79 | 80 |
80 /** | 81 /** |
| 82 * \brief Set the TrafficControlLayer. |
| 83 * \param tc TrafficControlLayer object |
| 84 */ |
| 85 void SetTrafficControl (Ptr<TrafficControlLayer> tc); |
| 86 |
| 87 /** |
81 * \brief Get the NetDevice. | 88 * \brief Get the NetDevice. |
82 * \return the NetDevice associated with this interface | 89 * \return the NetDevice associated with this interface |
83 */ | 90 */ |
84 virtual Ptr<NetDevice> GetDevice () const; | 91 virtual Ptr<NetDevice> GetDevice () const; |
85 | 92 |
86 /** | 93 /** |
87 * \brief Set the metric. | 94 * \brief Set the metric. |
88 * \param metric configured routing metric (cost) of this interface | 95 * \param metric configured routing metric (cost) of this interface |
89 */ | 96 */ |
90 void SetMetric (uint16_t metric); | 97 void SetMetric (uint16_t metric); |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 * \brief Node associated with this interface. | 327 * \brief Node associated with this interface. |
321 */ | 328 */ |
322 Ptr<Node> m_node; | 329 Ptr<Node> m_node; |
323 | 330 |
324 /** | 331 /** |
325 * \brief NetDevice associated with this interface. | 332 * \brief NetDevice associated with this interface. |
326 */ | 333 */ |
327 Ptr<NetDevice> m_device; | 334 Ptr<NetDevice> m_device; |
328 | 335 |
329 /** | 336 /** |
| 337 * \brief TrafficControlLayer associated with this interface. |
| 338 */ |
| 339 Ptr<TrafficControlLayer> m_tc; |
| 340 |
| 341 /** |
330 * \brief Neighbor cache. | 342 * \brief Neighbor cache. |
331 */ | 343 */ |
332 Ptr<NdiscCache> m_ndCache; | 344 Ptr<NdiscCache> m_ndCache; |
333 | 345 |
334 /** | 346 /** |
335 * \brief Current hop limit. | 347 * \brief Current hop limit. |
336 */ | 348 */ |
337 uint8_t m_curHopLimit; | 349 uint8_t m_curHopLimit; |
338 | 350 |
339 /** | 351 /** |
(...skipping 11 matching lines...) Expand all Loading... |
351 * \brief Retransmission timer (in millisecond). | 363 * \brief Retransmission timer (in millisecond). |
352 * Time between retransmission of NS. | 364 * Time between retransmission of NS. |
353 */ | 365 */ |
354 uint16_t m_retransTimer; | 366 uint16_t m_retransTimer; |
355 }; | 367 }; |
356 | 368 |
357 } /* namespace ns3 */ | 369 } /* namespace ns3 */ |
358 | 370 |
359 #endif /* IPV6_INTERFACE_H */ | 371 #endif /* IPV6_INTERFACE_H */ |
360 | 372 |
LEFT | RIGHT |