isc_nm_read(isc_nmhandle_t *handle, isc_nm_recv_cb_t cb, void *cbarg);
isc_result_t
-isc_nm_pauseread(isc_nmsocket_t *sock);
+isc_nm_pauseread(isc_nmhandle_t *handle);
/*%<
- * Pause reading on this socket, while still remembering the callback.
+ * Pause reading on this handle's socket, but remember the callback.
+ *
+ * Requires:
+ * \li 'handle' is a valid netmgr handle.
*/
void
*/
isc_result_t
-isc_nm_resumeread(isc_nmsocket_t *sock);
+isc_nm_resumeread(isc_nmhandle_t *handle);
/*%<
- * Resume reading from socket.
+ * Resume reading on the handle's socket.
*
* Requires:
- * \li 'sock' is a valid netmgr socket
- * \li ...for which a read/recv callback has been defined.
+ * \li 'handle' is a valid netmgr handle.
+ * \li ...for a socket with a defined read/recv callback.
*/
isc_result_t
}
isc_result_t
-isc_nm_pauseread(isc_nmsocket_t *sock) {
- REQUIRE(VALID_NMSOCK(sock));
+isc_nm_pauseread(isc_nmhandle_t *handle) {
+ REQUIRE(VALID_NMHANDLE(handle));
+
+ isc_nmsocket_t *sock = handle->sock;
switch (sock->type) {
case isc_nm_tcpsocket:
}
isc_result_t
-isc_nm_resumeread(isc_nmsocket_t *sock) {
- REQUIRE(VALID_NMSOCK(sock));
+isc_nm_resumeread(isc_nmhandle_t *handle) {
+ REQUIRE(VALID_NMHANDLE(handle));
+
+ isc_nmsocket_t *sock = handle->sock;
switch (sock->type) {
case isc_nm_tcpsocket:
* one packet, so we're done until the next read
* completes.
*/
- isc_nm_pauseread(dnssock->outerhandle->sock);
+ isc_nm_pauseread(dnssock->outerhandle);
done = true;
} else {
/*
*/
if (atomic_load(&dnssock->ah) >=
TCPDNS_CLIENTS_PER_CONN) {
- isc_nm_pauseread(dnssock->outerhandle->sock);
+ isc_nm_pauseread(dnssock->outerhandle);
done = true;
}
}
* closehandle_cb callback, called whenever a handle
* is released.
*/
- isc_nm_pauseread(handle->sock->outerhandle->sock);
+ isc_nm_pauseread(handle->sock->outerhandle);
atomic_store(&handle->sock->sequential, true);
}
}
isc_nmhandle_unref(handle);
} else if (sock->outerhandle != NULL) {
- result = isc_nm_resumeread(sock->outerhandle->sock);
+ result = isc_nm_resumeread(sock->outerhandle);
if (result != ISC_R_SUCCESS) {
isc_nmhandle_unref(sock->outerhandle);
sock->outerhandle = NULL;
* Nothing in the buffer; resume reading.
*/
if (sock->outerhandle != NULL) {
- isc_nm_resumeread(sock->outerhandle->sock);
+ isc_nm_resumeread(sock->outerhandle);
}
break;
isc_nm_listentcp
isc_nm_listenudp
isc_nm_maxudp
+isc_nm_pauseread
isc_nm_read
+isc_nm_resumeread
isc_nm_send
isc_nm_setstats
isc_nm_start