mirror of
https://github.com/espressif/openthread.git
synced 2026-09-06 17:20:09 +00:00
[mle] refactor MleRouter and Mle classes into a single Mle class (#11411)
This commit refactors the `Mle` modules and combines the `MleRouter` and `Mle` classes into a single `Mle` class which now handles both FTD and MTD functionalities. The `MleRouter` and `Mle` classes were originally intended as sub-classes, where the base class `Mle` would provide MTD and common behaviors, and `MleRouter` would implement FTD-specific behaviors. However, over the years and as new features were implemented, these two classes became more intertwined, and the `Mle` class began to include many FTD-related functions and interactions with `MleRouter` private variables and methods. This commit simplifies the code by combining the two into a single class. The previous `mle_router.cpp` file is also renamed to `mle_ftd.cpp` to indicate that it implements FTD-specific MLE behaviors.
This commit is contained in:
@@ -291,7 +291,7 @@ void DuaManager::UpdateCheckDelay(uint8_t aDelay)
|
||||
|
||||
void DuaManager::HandleNotifierEvents(Events aEvents)
|
||||
{
|
||||
Mle::MleRouter &mle = Get<Mle::MleRouter>();
|
||||
Mle::Mle &mle = Get<Mle::Mle>();
|
||||
|
||||
#if OPENTHREAD_CONFIG_DUA_ENABLE
|
||||
if (aEvents.Contains(kEventThreadNetdataChanged))
|
||||
@@ -420,7 +420,7 @@ void DuaManager::UpdateTimeTickerRegistration(void)
|
||||
void DuaManager::PerformNextRegistration(void)
|
||||
{
|
||||
Error error = kErrorNone;
|
||||
Mle::MleRouter &mle = Get<Mle::MleRouter>();
|
||||
Mle::Mle &mle = Get<Mle::Mle>();
|
||||
Coap::Message *message = nullptr;
|
||||
Tmf::MessageInfo messageInfo(GetInstance());
|
||||
Ip6::Address dua;
|
||||
|
||||
Reference in New Issue
Block a user