public function onConnected($cb)
{
if ($this->state === self::CONN_STATE_HANDSHAKED_ERROR) {
$cb($this);
} elseif ($this->state === self::CONN_STATE_HANDSHAKED_OK) {
$cb($this);
} else {
if (!$this->onConnected) {
$this->onConnected = new StackCallbacks();
}
$this->onConnected->push($cb);
}
}