When processing the delay queues in sending or receiving contexts, be sure to only process the particular delay queue *for that context*. Otherwise when sending a packet, a receive packet may be processed, resulting in a callback and thus potentially sending another packet. This accounts for possible concurrent modification problems seen in RoundRobinPacketScheduler, and likely solves Dylan's out-of-order problems.
When processing the delay queues in sending or receiving contexts,
be sure to only process the particular delay queue *for that context*.
Otherwise when sending a packet, a receive packet may be processed,
resulting in a callback and thus potentially sending another packet.
This accounts for possible concurrent modification problems seen in
RoundRobinPacketScheduler, and likely solves Dylan's out-of-order
problems.

briandealwis/gt,briandealwis/gt