[mle] enter fast poll mode when dequeue delayed MLE Data Request (#3761)

This commit is contained in:
rongli
2019-04-16 10:28:14 -07:00
committed by Jonathan Hui
parent 02463bdda1
commit 8fd8d1e0f9
+10
View File
@@ -1840,6 +1840,16 @@ void Mle::HandleDelayedResponseTimer(void)
if (SendMessage(*message, delayedResponse.GetDestination()) == OT_ERROR_NONE)
{
LogMleMessage("Send delayed message", delayedResponse.GetDestination());
// Here enters fast poll mode, as for Rx-Off-when-idle device, the enqueued msg should
// be Mle Data Reqeuest.
// Note: Finer-grade check (e.g. message subtype) might be required when deciding whether
// or not enters fast poll mode fast poll mode if there are other type of delayed message
// for Rx-Off-when-idle device.
if (!IsRxOnWhenIdle())
{
Get<DataPollManager>().SendFastPolls(DataPollManager::kDefaultFastPolls);
}
}
else
{