Skip to content

Commit 69dd336

Browse files
authored
[mlr] simplify SendMlrMessage() arguments (openthread#13043)
This commit simplifies the `MlrManager::SendMlrMessage()` method by removing the `void *aContext` parameter. Previously, all callers (`SendMlr()` and `RegisterMulticastListeners()`) were passing `this` as the context for the CoAP response handler. The context is now passed directly as `this` when invoking `Tmf::Agent::SendMessageTo()`, removing the need to thread it through the method arguments.
1 parent 40ebd8d commit 69dd336

2 files changed

Lines changed: 6 additions & 8 deletions

File tree

src/core/thread/mlr_manager.cpp

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -272,8 +272,8 @@ void MlrManager::SendMlr(void)
272272
#endif
273273

274274
VerifyOrExit(!addresses.IsEmpty(), error = kErrorNotFound);
275-
SuccessOrExit(
276-
error = SendMlrMessage(addresses.GetArrayBuffer(), addresses.GetLength(), nullptr, HandleMlrResponse, this));
275+
SuccessOrExit(error =
276+
SendMlrMessage(addresses.GetArrayBuffer(), addresses.GetLength(), nullptr, HandleMlrResponse));
277277

278278
mMlrPending = true;
279279

@@ -324,7 +324,7 @@ Error MlrManager::RegisterMulticastListeners(const Ip6::Address *aAddresses,
324324
// Only allow one outstanding registration if callback is specified.
325325
VerifyOrExit(!mRegisterPending, error = kErrorBusy);
326326

327-
SuccessOrExit(error = SendMlrMessage(aAddresses, aAddressNum, aTimeout, HandleRegisterResponse, this));
327+
SuccessOrExit(error = SendMlrMessage(aAddresses, aAddressNum, aTimeout, HandleRegisterResponse));
328328

329329
mRegisterPending = true;
330330
mRegisterCallback.Set(aCallback, aContext);
@@ -351,8 +351,7 @@ void MlrManager::HandleRegisterResponse(Coap::Msg *aMsg, Error aResult)
351351
Error MlrManager::SendMlrMessage(const Ip6::Address *aAddresses,
352352
uint8_t aAddressNum,
353353
const uint32_t *aTimeout,
354-
const Coap::ResponseHandler aResponseHandler,
355-
void *aContext)
354+
const Coap::ResponseHandler aResponseHandler)
356355
{
357356
OT_UNUSED_VARIABLE(aTimeout);
358357

@@ -397,7 +396,7 @@ Error MlrManager::SendMlrMessage(const Ip6::Address *aAddresses,
397396
destAddr.SetToRoutingLocator(Get<Mle::Mle>().GetMeshLocalPrefix(), Get<BackboneRouter::Leader>().GetServer16());
398397
}
399398

400-
error = Get<Tmf::Agent>().SendMessageTo(*message, destAddr, aResponseHandler, aContext);
399+
error = Get<Tmf::Agent>().SendMessageTo(*message, destAddr, aResponseHandler, this);
401400

402401
LogInfo("Sent MLR.req: addressNum=%d", aAddressNum);
403402

src/core/thread/mlr_manager.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -155,8 +155,7 @@ class MlrManager : public InstanceLocator, private NonCopyable
155155
Error SendMlrMessage(const Ip6::Address *aAddresses,
156156
uint8_t aAddressNum,
157157
const uint32_t *aTimeout,
158-
Coap::ResponseHandler aResponseHandler,
159-
void *aContext);
158+
Coap::ResponseHandler aResponseHandler);
160159

161160
DeclareTmfResponseHandlerIn(MlrManager, HandleMlrResponse);
162161

0 commit comments

Comments
 (0)