[tmf] skip copy of `MessageInfo` for empty ack (#8926)
diff --git a/src/core/meshcop/panid_query_client.cpp b/src/core/meshcop/panid_query_client.cpp
index b80ff4e..4f9d937 100644
--- a/src/core/meshcop/panid_query_client.cpp
+++ b/src/core/meshcop/panid_query_client.cpp
@@ -97,9 +97,8 @@
template <>
void PanIdQueryClient::HandleTmf<kUriPanIdConflict>(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 @@
mCallback.InvokeIfSet(panId, mask);
- SuccessOrExit(Get<Tmf::Agent>().SendEmptyAck(aMessage, responseInfo));
+ SuccessOrExit(Get<Tmf::Agent>().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 ba22e02..80b7447 100644
--- a/src/core/thread/announce_begin_server.cpp
+++ b/src/core/thread/announce_begin_server.cpp
@@ -66,10 +66,9 @@
template <>
void AnnounceBeginServer::HandleTmf<kUriAnnounceBegin>(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 @@
if (aMessage.IsConfirmable() && !aMessageInfo.GetSockAddr().IsMulticast())
{
- SuccessOrExit(Get<Tmf::Agent>().SendEmptyAck(aMessage, responseInfo));
+ SuccessOrExit(Get<Tmf::Agent>().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 ae56cf6..2288c59 100644
--- a/src/core/thread/panid_query_server.cpp
+++ b/src/core/thread/panid_query_server.cpp
@@ -60,9 +60,8 @@
template <>
void PanIdQueryServer::HandleTmf<kUriPanIdQuery>(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 @@
if (aMessage.IsConfirmable() && !aMessageInfo.GetSockAddr().IsMulticast())
{
- SuccessOrExit(Get<Tmf::Agent>().SendEmptyAck(aMessage, responseInfo));
+ SuccessOrExit(Get<Tmf::Agent>().SendEmptyAck(aMessage, aMessageInfo));
LogInfo("sent panid query response");
}