mirror of
https://github.com/espressif/openthread.git
synced 2026-10-01 21:37:39 +00:00
[mle] improve readability of RouteTlv (#4610)
This commit increases readability of RouteTlv APIs, such as uint8_t GetRouteCost(...). The argument of GetRouteCost is the index of route in mRouteData, but not the Router ID. This commit contains no logic changes.
This commit is contained in:
@@ -578,71 +578,77 @@ public:
|
|||||||
void SetRouteDataLength(uint8_t aLength) { SetLength(sizeof(mRouterIdSequence) + sizeof(mRouterIdMask) + aLength); }
|
void SetRouteDataLength(uint8_t aLength) { SetLength(sizeof(mRouterIdSequence) + sizeof(mRouterIdMask) + aLength); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Route Cost value for a given Router ID.
|
* This method returns the Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Route Cost value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetRouteCost(uint8_t aRouterId) const { return mRouteData[aRouterId] & kRouteCostMask; }
|
uint8_t GetRouteCost(uint8_t aRouterIndex) const { return mRouteData[aRouterIndex] & kRouteCostMask; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Route Cost value for a given Router ID.
|
* This method sets the Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aRouteCost The Route Cost value.
|
* @param[in] aRouteCost The Route Cost value.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetRouteCost(uint8_t aRouterId, uint8_t aRouteCost)
|
void SetRouteCost(uint8_t aRouterIndex, uint8_t aRouteCost)
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId] = (mRouteData[aRouterId] & ~kRouteCostMask) | aRouteCost;
|
mRouteData[aRouterIndex] = (mRouteData[aRouterIndex] & ~kRouteCostMask) | aRouteCost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Link Quality In value for a given Router ID.
|
* This method returns the Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Link Quality In value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetLinkQualityIn(uint8_t aRouterId) const
|
uint8_t GetLinkQualityIn(uint8_t aRouterIndex) const
|
||||||
{
|
{
|
||||||
return (mRouteData[aRouterId] & kLinkQualityInMask) >> kLinkQualityInOffset;
|
return (mRouteData[aRouterIndex] & kLinkQualityInMask) >> kLinkQualityInOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Link Quality In value for a given Router ID.
|
* This method sets the Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aLinkQuality The Link Quality In value for a given Router ID.
|
* @param[in] aLinkQuality The Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetLinkQualityIn(uint8_t aRouterId, uint8_t aLinkQuality)
|
void SetLinkQualityIn(uint8_t aRouterIndex, uint8_t aLinkQuality)
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId] = (mRouteData[aRouterId] & ~kLinkQualityInMask) |
|
mRouteData[aRouterIndex] = (mRouteData[aRouterIndex] & ~kLinkQualityInMask) |
|
||||||
((aLinkQuality << kLinkQualityInOffset) & kLinkQualityInMask);
|
((aLinkQuality << kLinkQualityInOffset) & kLinkQualityInMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Link Quality Out value for a given Router ID.
|
* This method returns the Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Link Quality Out value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetLinkQualityOut(uint8_t aRouterId) const
|
uint8_t GetLinkQualityOut(uint8_t aRouterIndex) const
|
||||||
{
|
{
|
||||||
return (mRouteData[aRouterId] & kLinkQualityOutMask) >> kLinkQualityOutOffset;
|
return (mRouteData[aRouterIndex] & kLinkQualityOutMask) >> kLinkQualityOutOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Link Quality Out value for a given Router ID.
|
* This method sets the Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aLinkQuality The Link Quality Out value for a given Router ID.
|
* @param[in] aLinkQuality The Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetLinkQualityOut(uint8_t aRouterId, uint8_t aLinkQuality)
|
void SetLinkQualityOut(uint8_t aRouterIndex, uint8_t aLinkQuality)
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId] = (mRouteData[aRouterId] & ~kLinkQualityOutMask) |
|
mRouteData[aRouterIndex] = (mRouteData[aRouterIndex] & ~kLinkQualityOutMask) |
|
||||||
((aLinkQuality << kLinkQualityOutOffset) & kLinkQualityOutMask);
|
((aLinkQuality << kLinkQualityOutOffset) & kLinkQualityOutMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@@ -753,102 +759,110 @@ public:
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Route Cost value for a given Router ID.
|
* This method returns the Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Route Cost value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetRouteCost(uint8_t aRouterId) const
|
uint8_t GetRouteCost(uint8_t aRouterIndex) const
|
||||||
{
|
{
|
||||||
if (aRouterId & 1)
|
if (aRouterIndex & 1)
|
||||||
{
|
{
|
||||||
return mRouteData[aRouterId + aRouterId / 2 + 1];
|
return mRouteData[aRouterIndex + aRouterIndex / 2 + 1];
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return static_cast<uint8_t>((mRouteData[aRouterId + aRouterId / 2] & kRouteCostMask) << kOddEntryOffset) |
|
return static_cast<uint8_t>((mRouteData[aRouterIndex + aRouterIndex / 2] & kRouteCostMask)
|
||||||
((mRouteData[aRouterId + aRouterId / 2 + 1] &
|
<< kOddEntryOffset) |
|
||||||
|
((mRouteData[aRouterIndex + aRouterIndex / 2 + 1] &
|
||||||
static_cast<uint8_t>(kRouteCostMask << kOddEntryOffset)) >>
|
static_cast<uint8_t>(kRouteCostMask << kOddEntryOffset)) >>
|
||||||
kOddEntryOffset);
|
kOddEntryOffset);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Route Cost value for a given Router ID.
|
* This method sets the Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aRouteCost The Route Cost value.
|
* @param[in] aRouteCost The Route Cost value.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetRouteCost(uint8_t aRouterId, uint8_t aRouteCost)
|
void SetRouteCost(uint8_t aRouterIndex, uint8_t aRouteCost)
|
||||||
{
|
{
|
||||||
if (aRouterId & 1)
|
if (aRouterIndex & 1)
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId + aRouterId / 2 + 1] = aRouteCost;
|
mRouteData[aRouterIndex + aRouterIndex / 2 + 1] = aRouteCost;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId + aRouterId / 2] = (mRouteData[aRouterId + aRouterId / 2] & ~kRouteCostMask) |
|
mRouteData[aRouterIndex + aRouterIndex / 2] =
|
||||||
((aRouteCost >> kOddEntryOffset) & kRouteCostMask);
|
(mRouteData[aRouterIndex + aRouterIndex / 2] & ~kRouteCostMask) |
|
||||||
mRouteData[aRouterId + aRouterId / 2 + 1] = static_cast<uint8_t>(
|
((aRouteCost >> kOddEntryOffset) & kRouteCostMask);
|
||||||
(mRouteData[aRouterId + aRouterId / 2 + 1] & ~(kRouteCostMask << kOddEntryOffset)) |
|
mRouteData[aRouterIndex + aRouterIndex / 2 + 1] = static_cast<uint8_t>(
|
||||||
|
(mRouteData[aRouterIndex + aRouterIndex / 2 + 1] & ~(kRouteCostMask << kOddEntryOffset)) |
|
||||||
((aRouteCost & kRouteCostMask) << kOddEntryOffset));
|
((aRouteCost & kRouteCostMask) << kOddEntryOffset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Link Quality In value for a given Router ID.
|
* This method returns the Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Link Quality In value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetLinkQualityIn(uint8_t aRouterId) const
|
uint8_t GetLinkQualityIn(uint8_t aRouterIndex) const
|
||||||
{
|
{
|
||||||
int offset = ((aRouterId & 1) ? kOddEntryOffset : 0);
|
int offset = ((aRouterIndex & 1) ? kOddEntryOffset : 0);
|
||||||
return (mRouteData[aRouterId + aRouterId / 2] & (kLinkQualityInMask >> offset)) >>
|
return (mRouteData[aRouterIndex + aRouterIndex / 2] & (kLinkQualityInMask >> offset)) >>
|
||||||
(kLinkQualityInOffset - offset);
|
(kLinkQualityInOffset - offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Link Quality In value for a given Router ID.
|
* This method sets the Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aLinkQuality The Link Quality In value for a given Router ID.
|
* @param[in] aLinkQuality The Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetLinkQualityIn(uint8_t aRouterId, uint8_t aLinkQuality)
|
void SetLinkQualityIn(uint8_t aRouterIndex, uint8_t aLinkQuality)
|
||||||
{
|
{
|
||||||
int offset = ((aRouterId & 1) ? kOddEntryOffset : 0);
|
int offset = ((aRouterIndex & 1) ? kOddEntryOffset : 0);
|
||||||
mRouteData[aRouterId + aRouterId / 2] =
|
mRouteData[aRouterIndex + aRouterIndex / 2] =
|
||||||
(mRouteData[aRouterId + aRouterId / 2] & ~(kLinkQualityInMask >> offset)) |
|
(mRouteData[aRouterIndex + aRouterIndex / 2] & ~(kLinkQualityInMask >> offset)) |
|
||||||
((aLinkQuality << (kLinkQualityInOffset - offset)) & (kLinkQualityInMask >> offset));
|
((aLinkQuality << (kLinkQualityInOffset - offset)) & (kLinkQualityInMask >> offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Link Quality Out value for a given Router ID.
|
* This method returns the Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Link Quality Out value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetLinkQualityOut(uint8_t aRouterId) const
|
uint8_t GetLinkQualityOut(uint8_t aRouterIndex) const
|
||||||
{
|
{
|
||||||
int offset = ((aRouterId & 1) ? kOddEntryOffset : 0);
|
int offset = ((aRouterIndex & 1) ? kOddEntryOffset : 0);
|
||||||
return (mRouteData[aRouterId + aRouterId / 2] & (kLinkQualityOutMask >> offset)) >>
|
return (mRouteData[aRouterIndex + aRouterIndex / 2] & (kLinkQualityOutMask >> offset)) >>
|
||||||
(kLinkQualityOutOffset - offset);
|
(kLinkQualityOutOffset - offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Link Quality Out value for a given Router ID.
|
* This method sets the Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aLinkQuality The Link Quality Out value for a given Router ID.
|
* @param[in] aLinkQuality The Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetLinkQualityOut(uint8_t aRouterId, uint8_t aLinkQuality)
|
void SetLinkQualityOut(uint8_t aRouterIndex, uint8_t aLinkQuality)
|
||||||
{
|
{
|
||||||
int offset = ((aRouterId & 1) ? kOddEntryOffset : 0);
|
int offset = ((aRouterIndex & 1) ? kOddEntryOffset : 0);
|
||||||
mRouteData[aRouterId + aRouterId / 2] =
|
mRouteData[aRouterIndex + aRouterIndex / 2] =
|
||||||
(mRouteData[aRouterId + aRouterId / 2] & ~(kLinkQualityOutMask >> offset)) |
|
(mRouteData[aRouterIndex + aRouterIndex / 2] & ~(kLinkQualityOutMask >> offset)) |
|
||||||
((aLinkQuality << (kLinkQualityOutOffset - offset)) & (kLinkQualityOutMask >> offset));
|
((aLinkQuality << (kLinkQualityOutOffset - offset)) & (kLinkQualityOutMask >> offset));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -626,71 +626,77 @@ public:
|
|||||||
void SetRouteDataLength(uint8_t aLength) { SetLength(sizeof(mRouterIdSequence) + sizeof(mRouterIdMask) + aLength); }
|
void SetRouteDataLength(uint8_t aLength) { SetLength(sizeof(mRouterIdSequence) + sizeof(mRouterIdMask) + aLength); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Route Cost value for a given Router ID.
|
* This method returns the Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Route Cost value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetRouteCost(uint8_t aRouterId) const { return mRouteData[aRouterId] & kRouteCostMask; }
|
uint8_t GetRouteCost(uint8_t aRouterIndex) const { return mRouteData[aRouterIndex] & kRouteCostMask; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Route Cost value for a given Router ID.
|
* This method sets the Route Cost value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aRouteCost The Route Cost value.
|
* @param[in] aRouteCost The Route Cost value.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetRouteCost(uint8_t aRouterId, uint8_t aRouteCost)
|
void SetRouteCost(uint8_t aRouterIndex, uint8_t aRouteCost)
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId] = (mRouteData[aRouterId] & ~kRouteCostMask) | aRouteCost;
|
mRouteData[aRouterIndex] = (mRouteData[aRouterIndex] & ~kRouteCostMask) | aRouteCost;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Link Quality In value for a given Router ID.
|
* This method returns the Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Link Quality In value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetLinkQualityIn(uint8_t aRouterId) const
|
uint8_t GetLinkQualityIn(uint8_t aRouterIndex) const
|
||||||
{
|
{
|
||||||
return (mRouteData[aRouterId] & kLinkQualityInMask) >> kLinkQualityInOffset;
|
return (mRouteData[aRouterIndex] & kLinkQualityInMask) >> kLinkQualityInOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Link Quality In value for a given Router ID.
|
* This method sets the Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aLinkQuality The Link Quality In value for a given Router ID.
|
* @param[in] aLinkQuality The Link Quality In value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetLinkQualityIn(uint8_t aRouterId, uint8_t aLinkQuality)
|
void SetLinkQualityIn(uint8_t aRouterIndex, uint8_t aLinkQuality)
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId] = (mRouteData[aRouterId] & ~kLinkQualityInMask) |
|
mRouteData[aRouterIndex] = (mRouteData[aRouterIndex] & ~kLinkQualityInMask) |
|
||||||
((aLinkQuality << kLinkQualityInOffset) & kLinkQualityInMask);
|
((aLinkQuality << kLinkQualityInOffset) & kLinkQualityInMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method returns the Link Quality Out value for a given Router ID.
|
* This method returns the Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
* @returns The Link Quality Out value for a given Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
|
*
|
||||||
|
* @returns The Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
uint8_t GetLinkQualityOut(uint8_t aRouterId) const
|
uint8_t GetLinkQualityOut(uint8_t aRouterIndex) const
|
||||||
{
|
{
|
||||||
return (mRouteData[aRouterId] & kLinkQualityOutMask) >> kLinkQualityOutOffset;
|
return (mRouteData[aRouterIndex] & kLinkQualityOutMask) >> kLinkQualityOutOffset;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method sets the Link Quality Out value for a given Router ID.
|
* This method sets the Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
* @param[in] aRouterId The Router ID.
|
* @param[in] aRouterIndex The Router index.
|
||||||
* @param[in] aLinkQuality The Link Quality Out value for a given Router ID.
|
* @param[in] aLinkQuality The Link Quality Out value for a given Router index.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
void SetLinkQualityOut(uint8_t aRouterId, uint8_t aLinkQuality)
|
void SetLinkQualityOut(uint8_t aRouterIndex, uint8_t aLinkQuality)
|
||||||
{
|
{
|
||||||
mRouteData[aRouterId] = (mRouteData[aRouterId] & ~kLinkQualityOutMask) |
|
mRouteData[aRouterIndex] = (mRouteData[aRouterIndex] & ~kLinkQualityOutMask) |
|
||||||
((aLinkQuality << kLinkQualityOutOffset) & kLinkQualityOutMask);
|
((aLinkQuality << kLinkQualityOutOffset) & kLinkQualityOutMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
Reference in New Issue
Block a user