public function onFinish()
    {
        parent::onFinish();
        $this->event('disconnect');
        if (isset($this->xml)) {
            $this->xml->finish();
        }
        unset($this->roster);
        if ($this->keepaliveTimer) {
            Timer::remove($this->keepaliveTimer);
        }
    }