function write($socket, $str)
{
for ($i = 0, $bytes = 0; $i < strlen($str); $i += $bytes) {
if (($bytes = @fwrite($socket, substr($str, $i))) && @fflush($socket)) {
continue;
}
if (isset($this->events['error']) && is_callable($func = $this->events['error'])) {
$func($this);
}
return FALSE;
}
return $bytes;
}