Network Decode with Modal Operator
Here is perhaps how I would try to implement it (please excuse me if this is too simplistic):


Maintain a queue of the packets that allows concurrent access 
One thread (process A) continually monitors the queue and processes and removes the packets from it. Since this does not have any timer even, it isn't subject to time constraint; it will have to wait until there are packets available in the queue (maybe feasible with multiprocessing python package)
The timer driven modal function (process B) can simply fetch the network packets and place them in the queue, this can be (I guess) reasonably expected to finish in less than 0.1 sec
I am not sure whether the 'settled' and 'unsettled' distinction for the state of the incoming flow will be of much use in this case, as this information will always be a posteriori (but again I maybe totally wrong).


NB: You may also want to put this question on stackoverflow, since this is more of a algorithm/python question.