Start()
Enables mesh forwarding and the IEEE 802.15.4 MAC layer.
Stop()
Disables mesh forwarding and the IEEE 802.15.4 MAC layer.
SendMessage()
Submits a message to the mesh forwarder for forwarding.
SendEmptyMessage()
Sends an empty data frame to the parent.
HandleResolved()
Is called by the address resolver when an EID-to-RLOC mapping has been resolved.
GetRxOnWhenIdle() const
Indicates whether or not rx-on-when-idle mode is enabled.
SetRxOnWhenIdle()
Sets the rx-on-when-idle mode.
RemoveMessagesForChild()
RemoveDataResponseMessages()
Frees unicast/multicast MLE Data Responses from Send Message Queue if any.
EvictMessage()
Evicts the message with lowest priority in the send queue.
GetSendQueue() const
Returns a reference to the send queue.
GetReassemblyQueue() const
Returns a reference to the reassembly queue.
GetCounters() const
Returns a reference to the IP level counters.
ResetCounters()
Resets the IP level counters.
GetTimeInQueueHistogram() const
Gets the time-in-queue histogram for messages in the TX queue. Histogram of the time-in-queue of messages in the transmit queue is collected. The time-in-queue is tracked for direct transmissions only and is measured as the duration from when a message is added to the transmit queue until it is passed to the MAC layer for transmission or dropped. The histogram is returned as an array of `uint32_t` values with `aNumBins` entries. The first entry in the array (at index 0) represents the number of messages with a time-in-queue less than `aBinInterval`. The second entry represents the number of messages with a time-in-queue greater than or equal to `aBinInterval`, but less than `2 * aBinInterval`. And so on. The last entry represents the number of messages with time-in-queue greater than or * equal to `(aNumBins - 1) * aBinInterval`. The collected statistics can be reset by calling `ResetTimeInQueueStat()`. The histogram information is collected since the OpenThread instance was initialized or since the last time statistics collection was reset by calling the `ResetTimeInQueueStat()`.
GetMaxTimeInQueue() const
Gets the maximum time-in-queue for messages in the TX queue. The time-in-queue is tracked for direct transmissions only and is measured as the duration from when a message is added to the transmit queue until it is passed to the MAC layer for transmission or dropped. The collected statistics can be reset by calling `ResetTimeInQueueStat()`.
ResetTimeInQueueStat()
Resets the TX queue time-in-queue statistics.
HandleDeferredAck()
Handles a deferred ack. Some radio links can use deferred ack logic, where a tx request always report `HandleSentFrame()` quickly. The link layer would wait for the ack and report it at a later time using this method. The link layer is expected to call `HandleDeferredAck()` (with success or failure status) for every tx request on the radio link.
SendIcmpErrorIfDstUnreach()
CheckReachability()
CheckReachability()
UpdateRoutes()
FrameToMessage()
GetMacDestinationAddress()
GetMacSourceAddress()
PrepareNextDirectTransmission()
HandleMesh()
ResolveRoutingLoops()
HandleFragment()
HandleLowpanHc()
PrepareDataFrame()
PrepareEmptyFrame()
UpdateEcnOrDrop()
RemoveAgedMessages()
IsDirectTxQueueOverMaxFrameThreshold() const
ApplyDirectTxQueueLimit()
SendMesh()
SendDestinationUnreachable()
UpdateIp6Route()
UpdateIp6RouteFtd()
UpdateMeshRoute()
UpdateReassemblyList()
UpdateFragmentPriority()
HandleDatagram()
ClearReassemblyList()
HandleDiscoverComplete()
HandleReceivedFrame()
HandleFrameRequest()
UpdateNeighborOnSentFrame()
UpdateNeighborLinkFailures()
HandleSentFrame()
UpdateSendMessage()
FinalizeMessageDirectTx()
FinalizeAndRemoveMessage()
RemoveMessageIfNoPendingTx()
HandleTimeTick()
ScheduleTransmissionTask()
GetFramePriority()
FinalizeMessageIndirectTxs()
FindFwdFrameInfoEntry()
UpdateFwdFrameInfoArrayOnTimeTick()
GetFragmentPriority()
GetForwardFramePriority()
PauseMessageTransmissions()
ResumeMessageTransmissions()
HandleTxDelayTimer()
LogMessage()
LogMessage()
LogMessage()
LogFrame()
LogFragmentFrameDrop()
LogLowpanHcFrameDrop()
MessageActionToString()
MessagePriorityToString()
LogMeshMessage()
LogIp6AddressAndPort()
LogIp6SourceDestAddresses()
LogIp6Message()
AppendMacAddrToLogString()
RemoveMessagesForChild()