Пример #1
0
void TcpServer::OnRead( uv_stream_t* stream, ssize_t num_read, const uv_buf_t* buf ) {
  Client* client = static_cast<Client*>( stream->data );
  TcpServer* server = client->p_server;

  if ( num_read < 0 ) {
    uv_close( reinterpret_cast<uv_handle_t*>( stream ), TcpServer::OnCloseClient );
    delete buf->base;
    return;
  }

  if ( server->m_read_callback ) {
    server->m_read_callback( client->id, buf->base, num_read );
  }

  delete buf->base;
}