'Grabs the next router from the queue and processes
This method uses a for loop to process the router repeatedly until
updates stop bubbling to the front of the queue.'

def each_update_to_next_router(self):

    next_update = self._queue.get()
    with ExclusiveRouterProcessor(next_update.id) as rp:
        rp.queue_update(next_update)
        for update in rp.updates():
            (yield (rp, update))
