public function removeCall(Call $call)
    {
        $newQueue = new \SplQueue();
        while (!$this->callQueue->isEmpty()) {
            $c = $this->callQueue->dequeue();

            if ($c === $call)
                continue;

            $newQueue->enqueue($c);
        }
        $this->callQueue = $newQueue;

        $registration = $call->getRegistration();
        if ($registration) {
            $registration->removeCall($call);
        }
    }
public function removeCall(Call $call)
    {
        $newQueue = new \SplQueue();
        while (!$this->callQueue->isEmpty()) {
            $c = $this->callQueue->dequeue();

            if ($c === $call)
                continue;

            $newQueue->enqueue($c);
        }
        $this->callQueue = $newQueue;

        $registration = $call->getRegistration();
        if ($registration) {
            $registration->removeCall($call);
        }
    }
public function removeCall ( Call $ call ) { $ newQueue = new \ SplQueue ( ) ; while ( ! $ this -> callQueue -> isEmpty ( ) ) { $ c = $ this -> callQueue -> dequeue ( ) ; if ( $ c === $ call ) continue ; $ newQueue -> enqueue ( $ c ) ; } $ this -> callQueue = $ newQueue ; $ registration = $ call -> getRegistration ( ) ; if ( $ registration ) { $ registration -> removeCall ( $ call ) ; } }
Remove all references to Call to it can be GCed

@param Call $call
Remove all references to Call to it can be GCed