An interruptable queue that allows either end to raise exceptions to the other end.[1]