libuv: что такое int, возвращаемое uv_tcp_connect?

Рассмотрим документацию uv_tcp_connect,
Вот объявление функции:

int uv_tcp_connect(uv_connect_t* req, uv_tcp_t* handle, const struct sockaddr* addr, uv_connect_cb cb);

Он принимает обратный вызов и возвращает целое число.
Обычно другие функции в libuv возвращают код ошибки (0 в случае отсутствия ошибок).
Я думаю, что и этот работает так же.

Что мне неясно (и также недокументировано): в случае, если возвращаемое значение не равно 0, будет ли вызван обратный вызов в любом случае?
Другими словами, означает ли возвращаемое значение, отличное от 0, что операция вообще не будет выполнена или гарантированно будет вызван обратный вызов?

К сожалению, кажется, что не задокументировано, что такое возвращаемое значение.

3 ответа

Решение

См. Раздел обработки ошибок в документации. Ошибка (return < 0) означает, что никакая операция не будет выполнена и обратный вызов не будет вызван.

В случае, если он возвращает ненулевой результат, он не будет вызывать обратный вызов.

Вы можете проверить эту тему для более подробной информации:

https://github.com/libuv/libuv/issues/391

Из чтения источника:

  • Возвращаемым значением является (отрицательный) код ошибки, 0 означает, что все прошло нормально.
  • Код с ненулевыми путями возврата не ссылается на обратный вызов, поэтому я не думаю, что он будет вызван при ошибке.
Другие вопросы по тегам