Takes the completions that are in the ring, finishes their operations, and lets waiting ones in.
ring_drain :: (scheduler: *Scheduler, engine: *Engine)