void
isc__nm_failed_send_cb(isc_nmsocket_t *sock, isc__nm_uvreq_t *req,
- isc_result_t eresult);
+ isc_result_t eresult, bool async);
void
isc__nm_failed_accept_cb(isc_nmsocket_t *sock, isc_result_t eresult);
void
void
isc__nm_failed_send_cb(isc_nmsocket_t *sock, isc__nm_uvreq_t *req,
- isc_result_t eresult) {
+ isc_result_t eresult, bool async) {
REQUIRE(VALID_NMSOCK(sock));
REQUIRE(VALID_UVREQ(req));
if (req->cb.send != NULL) {
- isc__nm_sendcb(sock, req, eresult, true);
+ isc__nm_sendcb(sock, req, eresult, async);
} else {
isc__nm_uvreq_put(&req, sock);
}
result = tcp_send_direct(sock, uvreq);
if (result != ISC_R_SUCCESS) {
isc__nm_incstats(sock, STATID_SENDFAIL);
- isc__nm_failed_send_cb(sock, uvreq, result);
+ isc__nm_failed_send_cb(sock, uvreq, result, true);
}
return;
if (status < 0) {
isc__nm_incstats(sock, STATID_SENDFAIL);
- isc__nm_failed_send_cb(sock, uvreq, isc_uverr2result(status));
+ isc__nm_failed_send_cb(sock, uvreq, isc_uverr2result(status),
+ false);
return;
}
if (status < 0) {
isc__nm_incstats(sock, STATID_SENDFAIL);
- isc__nm_failed_send_cb(sock, uvreq, isc_uverr2result(status));
+ isc__nm_failed_send_cb(sock, uvreq, isc_uverr2result(status),
+ false);
return;
}
return;
fail:
isc__nm_incstats(sock, STATID_SENDFAIL);
- isc__nm_failed_send_cb(sock, uvreq, result);
+ isc__nm_failed_send_cb(sock, uvreq, result, true);
}
static void
result = tlsdns_send_direct(sock, uvreq);
if (result != ISC_R_SUCCESS) {
isc__nm_incstats(sock, STATID_SENDFAIL);
- isc__nm_failed_send_cb(sock, uvreq, result);
+ isc__nm_failed_send_cb(sock, uvreq, result, false);
}
}
REQUIRE(sock->tid == isc_tid());
if (status < 0) {
- result = isc_uverr2result(status);
isc__nm_incstats(sock, STATID_SENDFAIL);
+ isc__nm_failed_send_cb(sock, uvreq, isc_uverr2result(status),
+ false);
+ return;
}
isc__nm_sendcb(sock, uvreq, result, false);
}
return;
fail:
- isc__nm_failed_send_cb(sock, uvreq, result);
+ isc__nm_failed_send_cb(sock, uvreq, result, true);
}
static isc_result_t