mirror of
https://github.com/espressif/openthread.git
synced 2026-08-10 04:37:47 +00:00
[netif] change UnsubscribeAllNodesMulticast() to return void (#4942)
This commit is contained in:
@@ -153,9 +153,8 @@ exit:
|
||||
return;
|
||||
}
|
||||
|
||||
otError Netif::UnsubscribeAllNodesMulticast(void)
|
||||
void Netif::UnsubscribeAllNodesMulticast(void)
|
||||
{
|
||||
otError error = OT_ERROR_NONE;
|
||||
NetifMulticastAddress * prev;
|
||||
const NetifMulticastAddress &linkLocalAllNodesAddress =
|
||||
static_cast<NetifMulticastAddress &>(const_cast<otNetifMulticastAddress &>(kLinkLocalAllNodesMulticastAddress));
|
||||
@@ -166,7 +165,7 @@ otError Netif::UnsubscribeAllNodesMulticast(void)
|
||||
//
|
||||
// LinkLocalAll -> RealmLocalAll -> RealmLocalAllMpl.
|
||||
|
||||
SuccessOrExit(error = mMulticastAddresses.Find(linkLocalAllNodesAddress, prev));
|
||||
SuccessOrExit(mMulticastAddresses.Find(linkLocalAllNodesAddress, prev));
|
||||
|
||||
// This method MUST be called after `UnsubscribeAllRoutersMulticast().
|
||||
// Verify this by checking the chain at the end of the list only
|
||||
@@ -198,7 +197,7 @@ otError Netif::UnsubscribeAllNodesMulticast(void)
|
||||
}
|
||||
|
||||
exit:
|
||||
return error;
|
||||
return;
|
||||
}
|
||||
|
||||
otError Netif::SubscribeAllRoutersMulticast(void)
|
||||
|
||||
@@ -395,11 +395,8 @@ protected:
|
||||
*
|
||||
* @note This method MUST be called after `UnsubscribeAllRoutersMulticast()` or its behavior is undefined
|
||||
*
|
||||
* @retval OT_ERROR_NONE Successfully unsubscribed from all addresses.
|
||||
* @retval OT_ERROR_NOT_FOUND The multicast addresses were not found.
|
||||
*
|
||||
*/
|
||||
otError UnsubscribeAllNodesMulticast(void);
|
||||
void UnsubscribeAllNodesMulticast(void);
|
||||
|
||||
private:
|
||||
enum
|
||||
|
||||
@@ -170,7 +170,7 @@ void ThreadNetif::Down(void)
|
||||
RemoveAllExternalUnicastAddresses();
|
||||
UnsubscribeAllExternalMulticastAddresses();
|
||||
IgnoreError(UnsubscribeAllRoutersMulticast());
|
||||
IgnoreError(UnsubscribeAllNodesMulticast());
|
||||
UnsubscribeAllNodesMulticast();
|
||||
|
||||
mIsUp = false;
|
||||
Get<MeshForwarder>().Stop();
|
||||
|
||||
@@ -51,8 +51,8 @@ public:
|
||||
|
||||
// Provide `protected` methods in `Netif` as `public` from `TestNetif`
|
||||
// so that we can verify their behavior in this test
|
||||
void SubscribeAllNodesMulticast(void) { Ip6::Netif::SubscribeAllNodesMulticast(); }
|
||||
otError UnsubscribeAllNodesMulticast(void) { return Ip6::Netif::UnsubscribeAllNodesMulticast(); }
|
||||
void SubscribeAllNodesMulticast(void) { Ip6::Netif::SubscribeAllNodesMulticast(); }
|
||||
void UnsubscribeAllNodesMulticast(void) { Ip6::Netif::UnsubscribeAllNodesMulticast(); }
|
||||
};
|
||||
|
||||
// This function verifies the multicast addresses on Netif matches the list of given addresses.
|
||||
@@ -141,11 +141,11 @@ void TestNetifMulticastAddresses(void)
|
||||
netif.SubscribeMulticast(netifAddress);
|
||||
VerifyMulticastAddressList(netif, &addresses[2], 4);
|
||||
|
||||
SuccessOrQuit(netif.UnsubscribeAllNodesMulticast(), "UnsubscribeAllNodesMulticast() failed");
|
||||
netif.UnsubscribeAllNodesMulticast();
|
||||
VerifyMulticastAddressList(netif, &addresses[5], 1);
|
||||
|
||||
VerifyOrQuit(netif.UnsubscribeAllNodesMulticast() == OT_ERROR_NOT_FOUND,
|
||||
"UnsubscribeAllNodesMulticast() did not fail when not subscribed");
|
||||
netif.UnsubscribeAllNodesMulticast();
|
||||
VerifyMulticastAddressList(netif, &addresses[5], 1);
|
||||
|
||||
IgnoreError(address.FromString(kTestAddress2));
|
||||
SuccessOrQuit(netif.SubscribeExternalMulticast(address), "SubscribeExternalMulticast() failed");
|
||||
@@ -190,7 +190,7 @@ void TestNetifMulticastAddresses(void)
|
||||
netif.UnsubscribeMulticast(netifAddress);
|
||||
VerifyMulticastAddressList(netif, &addresses[2], 3);
|
||||
|
||||
SuccessOrQuit(netif.UnsubscribeAllNodesMulticast(), "UnsubscribeAllNodesMulticast() failed");
|
||||
netif.UnsubscribeAllNodesMulticast();
|
||||
VerifyMulticastAddressList(netif, NULL, 0);
|
||||
|
||||
// The first five elements in `addresses[]` are the default/fixed addresses:
|
||||
|
||||
Reference in New Issue
Block a user