mirror of
https://github.com/espressif/openthread.git
synced 2026-08-01 08:37:47 +00:00
[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:
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user