Left: | ||
Right: |
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) 2013 Mohammed J.F. Alenazi | 3 * Copyright (c) 2013 Mohammed J.F. Alenazi |
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 |
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
12 * GNU General Public License for more details. | 12 * GNU General Public License for more details. |
13 * | 13 * |
14 * You should have received a copy of the GNU General Public License | 14 * You should have received a copy of the GNU General Public License |
15 * along with this program; if not, write to the Free Software | 15 * along with this program; if not, write to the Free Software |
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
17 * | 17 * |
18 * Author: Mohammed J.F. Alenazi <malenazi@ittc.ku.edu> | 18 * Author: Mohammed J.F. Alenazi <malenazi@ittc.ku.edu> |
19 * | 19 * |
20 * James P.G. Sterbenz <jpgs@ittc.ku.edu>, director | 20 * James P.G. Sterbenz <jpgs@ittc.ku.edu>, director |
21 * ResiliNets Research Group http://wiki.ittc.ku.edu/resilinets | 21 * ResiliNets Research Group http://wiki.ittc.ku.edu/resilinets |
22 * Information and Telecommunication Technology Center (ITTC) | 22 * Information and Telecommunication Technology Center (ITTC) |
23 * and Department of Electrical Engineering and Computer Science | 23 * and Department of Electrical Engineering and Computer Science |
24 * The University of Kansas Lawrence, KS USA. | 24 * The University of Kansas Lawrence, KS USA. |
25 * | 25 * |
26 * Work supported by King Saud University and the ITTC at The University of Kans as. | 26 * Work supported by King Saud University and |
27 * the ITTC at The University of Kansas. | |
27 */ | 28 */ |
28 | 29 |
29 #ifndef EPIDEMIC_HELPER_H | 30 #ifndef EPIDEMIC_HELPER_H |
30 #define EPIDEMIC_HELPER_H | 31 #define EPIDEMIC_HELPER_H |
31 | 32 |
32 #include "ns3/object-factory.h" | 33 #include "ns3/object-factory.h" |
33 #include "ns3/node.h" | 34 #include "ns3/node.h" |
34 #include "ns3/node-container.h" | 35 #include "ns3/node-container.h" |
35 #include "ns3/ipv4-routing-helper.h" | 36 #include "ns3/ipv4-routing-helper.h" |
36 | 37 |
38 /** | |
39 * \file | |
40 * \ingroup epidemic | |
41 * ns3::EpidemicHelper declaration. | |
42 */ | |
43 | |
44 | |
37 namespace ns3 { | 45 namespace ns3 { |
38 | 46 |
39 //brief Helper class that adds EPIDEMIC routing to nodes. | 47 /** |
48 * \ingroup epidemic | |
49 * \brief Helper class that adds Epidemic routing to nodes. | |
50 */ | |
40 class EpidemicHelper : public Ipv4RoutingHelper | 51 class EpidemicHelper : public Ipv4RoutingHelper |
41 { | 52 { |
42 public: | 53 public: |
43 /** Constructor */ | 54 /** Constructor */ |
44 EpidemicHelper (); | 55 EpidemicHelper (); |
45 /** Destructor */ | 56 /** Destructor */ |
46 ~EpidemicHelper (); | 57 ~EpidemicHelper (); |
47 /** | 58 // Inherited |
48 * \returns pointer to clone of this EpidemicHelper | |
49 * \internal | |
50 * | |
51 * This method is mainly for internal use by the other helpers; | |
52 * clients are expected to free the dynamic memory allocated by this method | |
53 */ | |
54 EpidemicHelper* Copy (void) const; | 59 EpidemicHelper* Copy (void) const; |
55 | 60 |
56 /** | 61 // Inherited |
Peter Barnes
2015/04/28 23:42:31
Unnecessary, since you said this two lines earlier
mjf.alenazi
2017/05/13 23:57:05
Done.
| |
57 * \param node the node on which the routing protocol will run | |
58 * \returns a newly-created routing protocol | |
59 * | |
60 * This method will be called by ns3::InternetStackHelper::Install | |
Peter Barnes
2013/12/10 00:02:33
This kind of documentation is not useful. Doxygen
mjf.alenazi
2013/12/30 23:11:11
Done.
| |
61 * | |
62 */ | |
63 virtual Ptr<Ipv4RoutingProtocol> Create (Ptr<Node> node) const; | 62 virtual Ptr<Ipv4RoutingProtocol> Create (Ptr<Node> node) const; |
64 /** | 63 /** |
64 * Set attributes by name. | |
65 * \param name the name of the attribute to set | 65 * \param name the name of the attribute to set |
66 * \param value the value of the attribute to set. | 66 * \param value the value of the attribute to set. |
67 * | 67 * |
68 * This method controls the attributes of ns3::epidemic::RoutingProtocol | 68 * This method controls the attributes of "ns3::Epidemic::RoutingProtocol" |
69 */ | 69 */ |
70 void Set (std::string name, const AttributeValue &value); | 70 void Set (std::string name, const AttributeValue &value); |
71 | 71 |
72 private: | 72 private: |
73 /** The factory to create Epidemic routing object */ | |
73 ObjectFactory m_agentFactory; | 74 ObjectFactory m_agentFactory; |
74 }; | 75 }; |
75 | 76 |
76 } //end namespace ns3 | 77 } //end namespace ns3 |
77 | 78 |
78 #endif /* EPIDEMIC_HELPER_H */ | 79 #endif /* EPIDEMIC_HELPER_H */ |
LEFT | RIGHT |