[mesh-forwarder] use RemoveMessageIfNoPendingTx() (#10513)

This commit replaces direct calls to `DequeueAndFree()` with
`RemoveMessageIfNoPendingTx()` in `EvictMessage()`, `HandleResolved()`,
and `RemoveDataResponseMessages()`. This promotes consistency in
message removal logic and eliminates the need to check if the removed
message is `mSendMessage`, as this is already handled by
`RemoveMessageIfNoPendingTx()`.
This commit is contained in:
Abtin Keshavarzian
2024-07-16 08:57:49 -07:00
committed by GitHub
parent b301a4c43f
commit be6b198730
2 changed files with 9 additions and 15 deletions
+7 -8
View File
@@ -208,6 +208,8 @@ void MeshForwarder::EvictMessage(Message &aMessage)
OT_ASSERT(queue != nullptr);
LogMessage(kMessageEvict, aMessage, kErrorNoBufs);
if (queue == &mSendQueue)
{
#if OPENTHREAD_FTD
@@ -218,15 +220,12 @@ void MeshForwarder::EvictMessage(Message &aMessage)
#endif
FinalizeMessageDirectTx(aMessage, kErrorNoBufs);
if (mSendMessage == &aMessage)
{
mSendMessage = nullptr;
}
RemoveMessageIfNoPendingTx(aMessage);
}
else
{
queue->DequeueAndFree(aMessage);
}
LogMessage(kMessageEvict, aMessage, kErrorNoBufs);
queue->DequeueAndFree(aMessage);
}
void MeshForwarder::ResumeMessageTransmissions(void)
+2 -7
View File
@@ -166,7 +166,7 @@ void MeshForwarder::HandleResolved(const Ip6::Address &aEid, Error aError)
{
LogMessage(kMessageDrop, message, kErrorAddressQuery);
FinalizeMessageDirectTx(message, kErrorAddressQuery);
mSendQueue.DequeueAndFree(message);
RemoveMessageIfNoPendingTx(message);
continue;
}
@@ -337,14 +337,9 @@ void MeshForwarder::RemoveDataResponseMessages(void)
}
}
if (mSendMessage == &message)
{
mSendMessage = nullptr;
}
LogMessage(kMessageDrop, message);
FinalizeMessageDirectTx(message, kErrorDrop);
mSendQueue.DequeueAndFree(message);
RemoveMessageIfNoPendingTx(message);
}
}