From e587d43e4b7bd808a45f565244b745194beb8f05 Mon Sep 17 00:00:00 2001 From: Abtin Keshavarzian Date: Wed, 5 Apr 2023 11:00:23 -0700 Subject: [PATCH] [tmf] skip copy of `MessageInfo` for empty ack (#8926) --- src/core/meshcop/panid_query_client.cpp | 7 +++---- src/core/thread/announce_begin_server.cpp | 9 ++++----- src/core/thread/panid_query_server.cpp | 7 +++---- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/core/meshcop/panid_query_client.cpp b/src/core/meshcop/panid_query_client.cpp index b80ff4ef0..4f9d9371c 100644 --- a/src/core/meshcop/panid_query_client.cpp +++ b/src/core/meshcop/panid_query_client.cpp @@ -97,9 +97,8 @@ exit: template <> void PanIdQueryClient::HandleTmf(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo) { - uint16_t panId; - Ip6::MessageInfo responseInfo(aMessageInfo); - uint32_t mask; + uint16_t panId; + uint32_t mask; VerifyOrExit(aMessage.IsConfirmablePostRequest()); @@ -111,7 +110,7 @@ void PanIdQueryClient::HandleTmf(Coap::Message &aMessage, con mCallback.InvokeIfSet(panId, mask); - SuccessOrExit(Get().SendEmptyAck(aMessage, responseInfo)); + SuccessOrExit(Get().SendEmptyAck(aMessage, aMessageInfo)); LogInfo("sent panid query conflict response"); diff --git a/src/core/thread/announce_begin_server.cpp b/src/core/thread/announce_begin_server.cpp index ba22e023c..80b74473f 100644 --- a/src/core/thread/announce_begin_server.cpp +++ b/src/core/thread/announce_begin_server.cpp @@ -66,10 +66,9 @@ void AnnounceBeginServer::SendAnnounce(uint32_t aChannelMask, uint8_t aCount, ui template <> void AnnounceBeginServer::HandleTmf(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo) { - uint32_t mask; - uint8_t count; - uint16_t period; - Ip6::MessageInfo responseInfo(aMessageInfo); + uint32_t mask; + uint8_t count; + uint16_t period; VerifyOrExit(aMessage.IsPostRequest()); VerifyOrExit((mask = MeshCoP::ChannelMaskTlv::GetChannelMask(aMessage)) != 0); @@ -81,7 +80,7 @@ void AnnounceBeginServer::HandleTmf(Coap::Message &aMessage, if (aMessage.IsConfirmable() && !aMessageInfo.GetSockAddr().IsMulticast()) { - SuccessOrExit(Get().SendEmptyAck(aMessage, responseInfo)); + SuccessOrExit(Get().SendEmptyAck(aMessage, aMessageInfo)); LogInfo("Sent announce begin response"); } diff --git a/src/core/thread/panid_query_server.cpp b/src/core/thread/panid_query_server.cpp index ae56cf64b..2288c5978 100644 --- a/src/core/thread/panid_query_server.cpp +++ b/src/core/thread/panid_query_server.cpp @@ -60,9 +60,8 @@ PanIdQueryServer::PanIdQueryServer(Instance &aInstance) template <> void PanIdQueryServer::HandleTmf(Coap::Message &aMessage, const Ip6::MessageInfo &aMessageInfo) { - uint16_t panId; - Ip6::MessageInfo responseInfo(aMessageInfo); - uint32_t mask; + uint16_t panId; + uint32_t mask; VerifyOrExit(aMessage.IsPostRequest()); VerifyOrExit((mask = MeshCoP::ChannelMaskTlv::GetChannelMask(aMessage)) != 0); @@ -76,7 +75,7 @@ void PanIdQueryServer::HandleTmf(Coap::Message &aMessage, const if (aMessage.IsConfirmable() && !aMessageInfo.GetSockAddr().IsMulticast()) { - SuccessOrExit(Get().SendEmptyAck(aMessage, responseInfo)); + SuccessOrExit(Get().SendEmptyAck(aMessage, aMessageInfo)); LogInfo("sent panid query response"); }