mirror of
https://github.com/espressif/openthread.git
synced 2026-07-29 23:27:46 +00:00
[mle] add helper method SetLeaderData(const LeaderData &) (#10245)
This commit is contained in:
@@ -972,6 +972,11 @@ void Mle::SetRloc16(uint16_t aRloc16)
|
||||
}
|
||||
}
|
||||
|
||||
void Mle::SetLeaderData(const LeaderData &aLeaderData)
|
||||
{
|
||||
SetLeaderData(aLeaderData.GetPartitionId(), aLeaderData.GetWeighting(), aLeaderData.GetLeaderRouterId());
|
||||
}
|
||||
|
||||
void Mle::SetLeaderData(uint32_t aPartitionId, uint8_t aWeighting, uint8_t aLeaderRouterId)
|
||||
{
|
||||
if (mLeaderData.GetPartitionId() != aPartitionId)
|
||||
@@ -2821,7 +2826,7 @@ void Mle::HandleAdvertisement(RxInfo &aRxInfo)
|
||||
if ((leaderData.GetPartitionId() != mLeaderData.GetPartitionId()) ||
|
||||
(leaderData.GetLeaderRouterId() != GetLeaderId()))
|
||||
{
|
||||
SetLeaderData(leaderData.GetPartitionId(), leaderData.GetWeighting(), leaderData.GetLeaderRouterId());
|
||||
SetLeaderData(leaderData);
|
||||
|
||||
#if OPENTHREAD_FTD
|
||||
SuccessOrExit(error = Get<MleRouter>().ReadAndProcessRouteTlvOnFed(aRxInfo, mParent.GetRouterId()));
|
||||
@@ -2920,7 +2925,7 @@ Error Mle::HandleLeaderData(RxInfo &aRxInfo)
|
||||
{
|
||||
if (IsChild())
|
||||
{
|
||||
SetLeaderData(leaderData.GetPartitionId(), leaderData.GetWeighting(), leaderData.GetLeaderRouterId());
|
||||
SetLeaderData(leaderData);
|
||||
mRetrieveNewNetworkData = true;
|
||||
}
|
||||
else
|
||||
@@ -3397,7 +3402,7 @@ void Mle::HandleChildIdResponse(RxInfo &aRxInfo)
|
||||
|
||||
SetStateDetached();
|
||||
|
||||
SetLeaderData(leaderData.GetPartitionId(), leaderData.GetWeighting(), leaderData.GetLeaderRouterId());
|
||||
SetLeaderData(leaderData);
|
||||
|
||||
#if OPENTHREAD_FTD
|
||||
SuccessOrExit(error = Get<MleRouter>().ReadAndProcessRouteTlvOnFed(aRxInfo, RouterIdFromRloc16(sourceAddress)));
|
||||
|
||||
@@ -1257,6 +1257,7 @@ private:
|
||||
void SetStateDetached(void);
|
||||
void SetStateChild(uint16_t aRloc16);
|
||||
void SetLeaderData(uint32_t aPartitionId, uint8_t aWeighting, uint8_t aLeaderRouterId);
|
||||
void SetLeaderData(const LeaderData &aLeaderData);
|
||||
void InformPreviousChannel(void);
|
||||
bool IsAnnounceAttach(void) const { return mAlternatePanId != Mac::kPanIdBroadcast; }
|
||||
void ScheduleMessageTransmissionTimer(void);
|
||||
|
||||
@@ -952,7 +952,7 @@ Error MleRouter::HandleLinkAccept(RxInfo &aRxInfo, bool aRequest)
|
||||
VerifyOrExit(GetRloc16() == address16, error = kErrorDrop);
|
||||
|
||||
SuccessOrExit(error = aRxInfo.mMessage.ReadLeaderDataTlv(leaderData));
|
||||
SetLeaderData(leaderData.GetPartitionId(), leaderData.GetWeighting(), leaderData.GetLeaderRouterId());
|
||||
SetLeaderData(leaderData);
|
||||
|
||||
mRouterTable.Clear();
|
||||
SuccessOrExit(error = aRxInfo.mMessage.ReadRouteTlv(routeTlv));
|
||||
|
||||
Reference in New Issue
Block a user