[routing-manager] add section comments (#10228)

This commit enhances the readability of the `RoutingManager` class
definition by adding comments to delineate different sections within
the code: Constants, typedefs, enumerations, nested classes and
structs, private methods, and variables.
This commit is contained in:
Abtin Keshavarzian
2024-05-14 08:53:53 -07:00
committed by GitHub
parent a074684110
commit e47973a753
+59 -1
View File
@@ -565,6 +565,9 @@ public:
#endif // OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE
private:
//------------------------------------------------------------------------------------------------------------------
// Constants
static constexpr uint8_t kMaxOnMeshPrefixes = OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_ON_MESH_PREFIXES;
static constexpr uint8_t kOmrPrefixLength = OT_IP6_PREFIX_BITSIZE; // The length of an OMR prefix. In bits.
@@ -605,6 +608,9 @@ private:
static_assert(kPolicyEvaluationMaxDelay > kPolicyEvaluationMinDelay,
"kPolicyEvaluationMaxDelay must be larger than kPolicyEvaluationMinDelay");
//------------------------------------------------------------------------------------------------------------------
// Typedefs
using Option = Ip6::Nd::Option;
using PrefixInfoOption = Ip6::Nd::PrefixInfoOption;
using RouteInfoOption = Ip6::Nd::RouteInfoOption;
@@ -614,6 +620,9 @@ private:
using NeighborSolicitMessage = Ip6::Nd::NeighborSolicitMessage;
using RouterSolicitMessage = Ip6::Nd::RouterSolicitMessage;
//------------------------------------------------------------------------------------------------------------------
// Enumerations
enum RouterAdvTxMode : uint8_t // Used in `SendRouterAdvertisement()`
{
kInvalidateAllPrevPrefixes,
@@ -628,6 +637,9 @@ private:
kToReplyToRs,
};
//------------------------------------------------------------------------------------------------------------------
// Nested types
class LifetimedPrefix
{
// Represents an IPv6 prefix with its valid lifetime. Used as
@@ -666,6 +678,8 @@ private:
TimeMilli mLastUpdateTime;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class OnLinkPrefix : public LifetimedPrefix, public Clearable<OnLinkPrefix>
{
public:
@@ -683,6 +697,8 @@ private:
uint32_t mPreferredLifetime;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class RoutePrefix : public LifetimedPrefix, public Clearable<RoutePrefix>
{
public:
@@ -697,6 +713,8 @@ private:
RoutePreference mRoutePreference;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void HandleDiscoveredPrefixTableChanged(void); // Declare early so we can use in `mSignalTask`
void HandleDiscoveredPrefixTableEntryTimer(void) { mDiscoveredPrefixTable.HandleEntryTimer(); }
void HandleDiscoveredPrefixTableRouterTimer(void) { mDiscoveredPrefixTable.HandleRouterTimer(); }
@@ -749,6 +767,8 @@ private:
private:
static constexpr uint32_t kFavoredOnLinkPrefixMinPreferredLifetime = 1800; // In sec.
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
template <class Type>
struct Entry : public Type,
public LinkedListEntry<Entry<Type>>,
@@ -766,6 +786,8 @@ private:
Entry<Type> *mNext;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
struct Router : public Clearable<Router>
{
// The timeout (in msec) for router staying in active state
@@ -801,6 +823,8 @@ private:
bool mStubRouterFlag : 1;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class Iterator : public PrefixTableIterator
{
public:
@@ -839,6 +863,8 @@ private:
void SetType(Type aType) { mData2 = aType; }
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#if !OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
static constexpr uint16_t kMaxRouters = OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_ROUTERS;
static constexpr uint16_t kMaxEntries = OPENTHREAD_CONFIG_BORDER_ROUTING_MAX_DISCOVERED_PREFIXES;
@@ -858,6 +884,8 @@ private:
};
#endif
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void ProcessRaHeader(const RouterAdvert::Header &aRaHeader, Router &aRouter);
void ProcessPrefixInfoOption(const PrefixInfoOption &aPio, Router &aRouter);
void ProcessRouteInfoOption(const RouteInfoOption &aRio, Router &aRouter);
@@ -890,6 +918,8 @@ private:
#endif
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class OmrPrefixManager;
class OmrPrefix : public Clearable<OmrPrefix>
@@ -910,6 +940,8 @@ private:
bool mIsDomainPrefix;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class FavoredOmrPrefix : public OmrPrefix
{
friend class OmrPrefixManager;
@@ -923,6 +955,8 @@ private:
bool IsFavoredOver(const NetworkData::OnMeshPrefixConfig &aOmrPrefixConfig) const;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
class OmrPrefixManager : public InstanceLocator
{
public:
@@ -956,6 +990,8 @@ private:
bool mDefaultRoute;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void HandleOnLinkPrefixManagerTimer(void) { mOnLinkPrefixManager.HandleTimer(); }
class OnLinkPrefixManager : public InstanceLocator
@@ -1021,6 +1057,8 @@ private:
ExpireTimer mTimer;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void HandleRioAdvertiserimer(void) { mRioAdvertiser.HandleTimer(); }
class RioAdvertiser : public InstanceLocator
@@ -1077,7 +1115,10 @@ private:
bool mUserSetPreference;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#if OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
void HandleNat64PrefixManagerTimer(void) { mNat64PrefixManager.HandleTimer(); }
class Nat64PrefixManager : public InstanceLocator
@@ -1121,8 +1162,11 @@ private:
RoutePreference mPublishedPreference; // The published prefix preference.
Nat64Timer mTimer;
};
#endif // OPENTHREAD_CONFIG_NAT64_BORDER_ROUTING_ENABLE
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void HandleRoutePublisherTimer(void) { mRoutePublisher.HandleTimer(); }
class RoutePublisher : public InstanceLocator // Manages the routes that are published in net data
@@ -1174,6 +1218,8 @@ private:
DelayTimer mTimer;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
struct RaInfo
{
// Tracks info about emitted RA messages:
@@ -1216,6 +1262,8 @@ private:
uint16_t mLastHashIndex;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void HandleRsSenderTimer(void) { mRsSender.HandleTimer(); }
class RsSender : public InstanceLocator
@@ -1252,7 +1300,10 @@ private:
TimeMilli mStartTime;
};
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
#if OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE
void HandlePdPrefixManagerTimer(void) { mPdPrefixManager.HandleTimer(); }
class PdPrefixManager : public InstanceLocator
@@ -1314,6 +1365,9 @@ private:
#endif // OPENTHREAD_CONFIG_BORDER_ROUTING_DHCP6_PD_ENABLE
//------------------------------------------------------------------------------------------------------------------
// Methods
void EvaluateState(void);
void Start(void);
void Stop(void);
@@ -1348,6 +1402,9 @@ private:
static void LogPrefixInfoOption(const Ip6::Prefix &aPrefix, uint32_t aValidLifetime, uint32_t aPreferredLifetime);
static void LogRouteInfoOption(const Ip6::Prefix &aPrefix, uint32_t aLifetime, RoutePreference aPreference);
//------------------------------------------------------------------------------------------------------------------
// Variables
using RoutingPolicyTimer = TimerMilliIn<RoutingManager, &RoutingManager::EvaluateRoutingPolicy>;
using DiscoveredPrefixStaleTimer = TimerMilliIn<RoutingManager, &RoutingManager::HandleDiscoveredPrefixStaleTimer>;
@@ -1394,7 +1451,8 @@ private:
#if !OPENTHREAD_CONFIG_BORDER_ROUTING_USE_HEAP_ENABLE
// Template specializations
//----------------------------------------------------------------------------------------------------------------------
// Template specializations and declarations
template <>
inline RoutingManager::DiscoveredPrefixTable::Entry<RoutingManager::OnLinkPrefix>