Clear()
Clears any state/info saved per child for indirect frame transmission.
HandleNewFrame()
Informs data poll handler that there is a new frame for a given child. After this call, the data poll handler can use the `Callbacks::PrepareFrameForChild()` method to request the frame to be prepared. A subsequent call to `Callbacks::PrepareFrameForChild()` should ensure to prepare the same frame (this is used for retransmissions of frame by data poll handler). If/When the frame transmission is finished, the data poll handler will invoke the `Callbacks::HandleSentFrameToChild()` to indicate the status of the frame transmission.
RequestFrameChange()
Requests a frame change for a given child. Two types of frame change requests are supported: 1) "Purge Frame" which indicates that the previous frame should be purged and any ongoing indirect tx aborted. 2) "Replace Frame" which indicates that the previous frame needs to be replaced with a new higher priority one. If there is no ongoing indirect frame transmission to the child, the request will be handled immediately and the callback `HandleFrameChangeDone()` is called directly from this method itself. This callback notifies the next layer that the indirect frame/message for the child can be safely updated. If there is an ongoing indirect frame transmission to this child, the request can not be handled immediately. The following options can happen based on the request type: 1) In case of "purge" request, the ongoing indirect transmission is aborted and upon completion of the abort the callback `HandleFrameChangeDone()` is invoked. 2) In case of "replace" request, the ongoing indirect transmission is allowed to finish (current tx attempt). 2.a) If the tx attempt is successful, the `Callbacks::HandleSentFrameToChild()` in invoked which indicates the "replace" could not happen (in this case the `HandleFrameChangeDone()` is no longer called). 2.b) If the ongoing tx attempt is unsuccessful, then callback `HandleFrameChangeDone()` is invoked to allow the next layer to update the frame/message for the child. If there is a pending request, a subsequent call to this method is ignored except for the case where pending request is for "replace frame" and new one is for "purge frame" where the "purge" overrides the "replace" request.
HandleDataPoll()
HandleFrameRequest()
HandleSentFrame()
HandleSentFrame()
ProcessPendingPolls()
ResetTxAttempts()