public function send($send_buffer, $raw = false)
....
Worker::$globalEvent->add($this->_socket, EventInterface::EV_WRITE, array($this, 'baseWrite'));
// Check if the send buffer will be full.
$this->checkBufferWillFull();
return;
}
if ($this->bufferIsFull()) {
++self::$statistics['send_fail'];
return false;
}
$this->_sendBuffer .= $send_buffer;
// Check if the send buffer is full.
$this->checkBufferWillFull();
}
walkor大佬, 这里的添加了可写事件,怎么触发这个可写事件呢,
可以用下面的代码测试一下,发送大量数据。
操作系统会将socket可写可读事件通过 select 或者 epoll的方法通知业务进程。业务进程通过调用 select 或者 epoll 来接收这个事件。