Files
openthread/tests
Abtin Keshavarzian d0cf21e3ba PriorityQueue and MessagePool::Iterator and their unit-test (#1096)
This commit contains the following:

- It adds methods to `Message` to assign a priority level to messages.
  Currently there are four priority levels: High, Medium, Low, VeryLow
  but this is easily changeable.

- It introduces a new class `PriorityQueue` which implements a FIFO queue
  for storing messages based on their priority level in addition to oder
  in which they are added.
  If the priority level of an already queued message in a `PriorityQueue`
  is changed, the associated queue will automatically move the message
  within the queue based on its new priority level.
  Internally the implementation uses a circular doubly linked-list with
  an array of tail pointers associated with different priority levels.

- It adds new methods and an `Iterator` class  in `MessagePool` to access
  the priority queue where all allocated and queued messages from this
  pool are stored.  The `Iterator` class allows bi-directional iteration
  through the list (from highest priority to lowest or reverse).

- This commit also contain detailed unit-test for all the newly added
  features/methods.
2016-12-21 13:50:57 -08:00
..
2016-11-29 12:10:34 -08:00