From b4698b7ccaff722497491241a009a9698b77dd45 Mon Sep 17 00:00:00 2001 From: Craig Dowell Date: Fri, 27 Jul 2007 20:48:21 -0700 Subject: [PATCH] doxygen update (@internal) --- src/routing/global/candidate-queue.h | 202 ++++++++++-------- .../global/global-route-manager-impl.h | 32 ++- src/routing/global/global-route-manager.h | 3 + 3 files changed, 147 insertions(+), 90 deletions(-) diff --git a/src/routing/global/candidate-queue.h b/src/routing/global/candidate-queue.h index 1c01cb2ec..09b3a5c22 100644 --- a/src/routing/global/candidate-queue.h +++ b/src/routing/global/candidate-queue.h @@ -43,94 +43,117 @@ namespace ns3 { class CandidateQueue { public: - /** - * Create an empty SPF Candidate Queue. - * - * @see SPFVertex - */ +/** + * @brief Create an empty SPF Candidate Queue. + * @internal + * + * @see SPFVertex + */ CandidateQueue (); - /** - * Destroy an SPF Candidate Queue and release any resources held by the - * contents. - * - * @see SPFVertex - */ + +/** + * @internal Destroy an SPF Candidate Queue and release any resources held + * by the contents. + * @internal + * + * @see SPFVertex + */ virtual ~CandidateQueue (); - /** - * Empty the Candidate Queue and release all of the resources associated - * with the Shortest Path First Vertex pointers in the queue. - * - * @see SPFVertex - */ + +/** + * @brief Empty the Candidate Queue and release all of the resources + * associated with the Shortest Path First Vertex pointers in the queue. + * @internal + * + * @see SPFVertex + */ void Clear (void); - /** - * Push a Shortest Path First Vertex pointer onto the queue according to the - * priority scheme. - * - * On completion, the top of the queue will hold the Shortest Path First - * Vertex pointer that points to a vertex having lowest value of the field - * m_distanceFromRoot. Remaining vertices are ordered according to - * increasing distance. - * - * @see SPFVertex - * @param vNew The Shortest Path First Vertex to add to the queue. - */ + +/** + * @brief Push a Shortest Path First Vertex pointer onto the queue according + * to the priority scheme. + * @internal + * + * On completion, the top of the queue will hold the Shortest Path First + * Vertex pointer that points to a vertex having lowest value of the field + * m_distanceFromRoot. Remaining vertices are ordered according to + * increasing distance. + * + * @see SPFVertex + * @param vNew The Shortest Path First Vertex to add to the queue. + */ void Push (SPFVertex *vNew); - /** - * Pop the Shortest Path First Vertex pointer at the top of the queue. - * The caller is given the responsiblity for releasing the resources - * associated with the vertex. - * - * @see SPFVertex - * @see Top () - * @returns The Shortest Path First Vertex pointer at the top of the queue. - */ + +/** + * @brief Pop the Shortest Path First Vertex pointer at the top of the queue. + * @internal + * + * The caller is given the responsiblity for releasing the resources + * associated with the vertex. + * + * @see SPFVertex + * @see Top () + * @returns The Shortest Path First Vertex pointer at the top of the queue. + */ SPFVertex* Pop (void); - /** - * Return the Shortest Path First Vertex pointer at the top of the queue. - * This method does not pop the SPFVertex* off of the queue, it simply - * returns the pointer. - * - * @see SPFVertex - * @see Pop () - * @returns The Shortest Path First Vertex pointer at the top of the queue. - */ + +/** + * @brief Return the Shortest Path First Vertex pointer at the top of the + * queue. + * @internal + * + * This method does not pop the SPFVertex* off of the queue, it simply + * returns the pointer. + * + * @see SPFVertex + * @see Pop () + * @returns The Shortest Path First Vertex pointer at the top of the queue. + */ SPFVertex* Top (void) const; - /** - * Test the Candidate Queue to determine if it is empty. - * - * @returns True if the queue is empty, false otherwise. - */ + +/** + * @brief Test the Candidate Queue to determine if it is empty. + * @internal + * + * @returns True if the queue is empty, false otherwise. + */ bool Empty (void) const; - /** - * Return the number of Shortest Path First Vertex pointers presently - * stored in the Candidate Queue. - * - * @see SPFVertex - * @returns The number of SPFVertex* pointers in the Candidate Queue. - */ + +/** + * @brief Return the number of Shortest Path First Vertex pointers presently + * stored in the Candidate Queue. + * @internal + * + * @see SPFVertex + * @returns The number of SPFVertex* pointers in the Candidate Queue. + */ uint32_t Size (void) const; - /** - * Searches the Candidate Queue for a Shortest Path First Vertex pointer - * that points to a vertex having the given IP address. - * - * @see SPFVertex - * @param addr The IP address to search for. - * @returns The SPFVertex* pointer corresponding to the given IP address. - */ + +/** + * @brief Searches the Candidate Queue for a Shortest Path First Vertex + * pointer that points to a vertex having the given IP address. + * @internal + * + * @see SPFVertex + * @param addr The IP address to search for. + * @returns The SPFVertex* pointer corresponding to the given IP address. + */ SPFVertex* Find (const Ipv4Address addr) const; - /** - * Reorders the Candidate Queue according to the priority scheme. On - * completion, the top of the queue will hold the Shortest Path First - * Vertex pointer that points to a vertex having lowest value of the field - * m_distanceFromRoot. Remaining vertices are ordered according to - * increasing distance. - * - * This method is provided in case the values of m_distanceFromRoot change - * during the routing calculations. - * - * @see SPFVertex - */ + +/** + * @brief Reorders the Candidate Queue according to the priority scheme. + * @internal + * + * On completion, the top of the queue will hold the Shortest Path First + * Vertex pointer that points to a vertex having lowest value of the field + * m_distanceFromRoot. Remaining vertices are ordered according to + * increasing distance. + * + * This method is provided in case the values of m_distanceFromRoot change + * during the routing calculations. + * + * @see SPFVertex + */ void Reorder (void); protected: @@ -138,17 +161,18 @@ protected: CandidateList_t m_candidates; private: - /** - * Candidate Queue copy construction is disallowed (not implemented) to - * prevent the compiler from slipping in incorrect versions that don't - * properly deal with deep copies. - */ +/** + * Candidate Queue copy construction is disallowed (not implemented) to + * prevent the compiler from slipping in incorrect versions that don't + * properly deal with deep copies. + */ CandidateQueue (CandidateQueue& sr); - /** - * Candidate Queue assignment operator is disallowed (not implemented) to - * prevent the compiler from slipping in incorrect versions that don't - * properly deal with deep copies. - */ + +/** + * Candidate Queue assignment operator is disallowed (not implemented) to + * prevent the compiler from slipping in incorrect versions that don't + * properly deal with deep copies. + */ CandidateQueue& operator= (CandidateQueue& sr); }; diff --git a/src/routing/global/global-route-manager-impl.h b/src/routing/global/global-route-manager-impl.h index 87e64919b..7979cb4a2 100644 --- a/src/routing/global/global-route-manager-impl.h +++ b/src/routing/global/global-route-manager-impl.h @@ -61,6 +61,7 @@ class SPFVertex public: /** * @brief Enumeration of the possible types of SPFVertex objects. + * @internal * * Currently we use VertexRouter to identify objects that represent a router * in the simulation topology, and VertexNetwork to identify objects that @@ -75,6 +76,7 @@ public: /** * @brief Construct an empty ("uninitialized") SPFVertex (Shortest Path First * Vertex). + * @internal * * The Vertex Type is set to VertexUnknown, the Vertex ID is set to * 255.255.255.255, and the distance from root is set to infinity @@ -89,6 +91,7 @@ public: /** * @brief Construct an initialized SPFVertex (Shortest Path First Vertex). + * @internal * * The Vertex Type is initialized to VertexRouter and the Vertex ID is found * from the Link State ID of the Link State Advertisement (LSA) passed as a @@ -106,6 +109,7 @@ public: /** * @brief Destroy an SPFVertex (Shortest Path First Vertex). + * @internal * * The children vertices of the SPFVertex are recursively deleted. * @@ -115,6 +119,7 @@ public: /** * @brief Get the Vertex Type field of a SPFVertex object. + * @internal * * The Vertex Type describes the kind of simulation object a given SPFVertex * represents. @@ -126,6 +131,7 @@ public: /** * @brief Set the Vertex Type field of a SPFVertex object. + * @internal * * The Vertex Type describes the kind of simulation object a given SPFVertex * represents. @@ -137,6 +143,7 @@ public: /** * @brief Get the Vertex ID field of a SPFVertex object. + * @internal * * The Vertex ID uniquely identifies the simulation object a given SPFVertex * represents. Typically, this is the Router ID for SPFVertex objects @@ -152,6 +159,7 @@ public: /** * @brief Set the Vertex ID field of a SPFVertex object. + * @internal * * The Vertex ID uniquely identifies the simulation object a given SPFVertex * represents. Typically, this is the Router ID for SPFVertex objects @@ -170,6 +178,7 @@ public: * @brief Get the Global Router Link State Advertisement returned by the * Global Router represented by this SPFVertex during the route discovery * process. + * @internal * * @see GlobalRouter * @see GlobalRouterLSA @@ -183,6 +192,7 @@ public: * @brief Set the Global Router Link State Advertisement returned by the * Global Router represented by this SPFVertex during the route discovery * process. + * @internal * * @see SPFVertex::GetLSA () * @see GlobalRouter @@ -196,6 +206,7 @@ public: /** * @brief Get the distance from the root vertex to "this" SPFVertex object. + * @internal * * Each router in the simulation is associated with an SPFVertex object. When * calculating routes, each of these routers is, in turn, chosen as the "root" @@ -218,6 +229,7 @@ public: /** * @brief Set the distance from the root vertex to "this" SPFVertex object. + * @internal * * Each router in the simulation is associated with an SPFVertex object. When * calculating routes, each of these routers is, in turn, chosen as the "root" @@ -239,6 +251,7 @@ public: /** * @brief Get the interface ID that should be used to begin forwarding packets * from the root SPFVertex to "this" SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -280,6 +293,7 @@ public: /** * @brief Set the interface ID that should be used to begin forwarding packets * from the root SPFVertex to "this" SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -321,6 +335,7 @@ public: /** * @brief Get the IP address that should be used to begin forwarding packets * from the root SPFVertex to "this" SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -363,6 +378,7 @@ public: /** * @brief Set the IP address that should be used to begin forwarding packets * from the root SPFVertex to "this" SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -405,6 +421,7 @@ public: /** * @brief Get a pointer to the SPFVector that is the parent of "this" * SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -425,6 +442,7 @@ public: /** * @brief Set the pointer to the SPFVector that is the parent of "this" * SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -444,6 +462,7 @@ public: /** * @brief Get the number of children of "this" SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -466,6 +485,7 @@ public: /** * @brief Get a borrowed SPFVertex pointer to the specified child of "this" * SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -494,6 +514,7 @@ public: /** * @brief Get a borrowed SPFVertex pointer to the specified child of "this" * SPFVertex. + * @internal * * Each router node in the simulation is associated with an SPFVertex object. * When calculating routes, each of these routers is, in turn, chosen as the @@ -561,6 +582,7 @@ class GlobalRouteManagerLSDB public: /** * @brief Construct an empty Global Router Manager Link State Database. + * @internal * * The database map composing the Link State Database is initialized in * this constructor. @@ -569,6 +591,7 @@ public: /** * @brief Destroy an empty Global Router Manager Link State Database. + * @internal * * The database map is walked and all of the Link State Advertisements stored * in the database are freed; then the database map itself is clear ()ed to @@ -579,6 +602,7 @@ public: /** * @brief Insert an IP address / Link State Advertisement pair into the Link * State Database. + * @internal * * The IPV4 address and the GlobalRouterLSA given as parameters are converted * to an STL pair and are inserted into the database map. @@ -594,6 +618,7 @@ public: /** * @brief Look up the Link State Advertisement associated with the given * IP Address. + * @internal * * The database map is searched for the given IPV4 address and corresponding * GlobalRouterLSA is returned. @@ -609,6 +634,7 @@ public: /** * @brief Set all LSA flags to an initialized state, for SPF computation + * @internal * * This function walks the database and resets the status flags of all of the * contained Link State Advertisements to LSA_SPF_NOT_EXPLORED. This is done @@ -657,6 +683,7 @@ public: /** * @brief Select which nodes in the system are to be router nodes and * aggregate the appropriate interfaces onto those nodes. + * @internal * */ virtual void SelectRouterNodes (); @@ -664,23 +691,26 @@ public: /** * @brief Build the routing database by gathering Link State Advertisements * from each node exporting a GlobalRouter interface. - * + * @internal */ virtual void BuildGlobalRoutingDatabase (); /** * @brief Compute routes using a Dijkstra SPF computation and populate * per-node forwarding tables + * @internal */ virtual void InitializeRoutes (); /** * @brief Debugging routine; allow client code to supply a pre-built LSDB + * @internal */ void DebugUseLsdb (GlobalRouteManagerLSDB*); /** * @brief Debugging routine; call the core SPF from the unit tests + * @internal */ void DebugSPFCalculate (Ipv4Address root); diff --git a/src/routing/global/global-route-manager.h b/src/routing/global/global-route-manager.h index b4f8d53b8..7562da67d 100644 --- a/src/routing/global/global-route-manager.h +++ b/src/routing/global/global-route-manager.h @@ -54,6 +54,7 @@ private: /** * @brief Select which nodes in the system are to be router nodes and * aggregate the appropriate interfaces onto those nodes. + * @internal * */ static void SelectRouterNodes (); @@ -61,6 +62,7 @@ private: /** * @brief Build the routing database by gathering Link State Advertisements * from each node exporting a GlobalRouter interface. + * @internal * */ static void BuildGlobalRoutingDatabase (); @@ -68,6 +70,7 @@ private: /** * @brief Compute routes using a Dijkstra SPF computation and populate * per-node forwarding tables + * @internal */ static void InitializeRoutes ();