int magic;
isc_nmsocket_t *sock;
isc_nmhandle_t *handle;
+ char tcplen[2]; /* The TCP DNS message length */
uv_buf_t uvbuf; /* translated isc_region_t, to be
* sent or received */
isc_sockaddr_t local; /* local address */
REQUIRE(sock->type == isc_nm_tcpdnssocket);
uvreq = isc__nm_uvreq_get(sock->mgr, sock);
+ *(uint16_t *)uvreq->tcplen = htons(region->length);
uvreq->uvbuf.base = (char *)region->base;
uvreq->uvbuf.len = region->length;
REQUIRE(sock->type == isc_nm_tcpdnssocket);
int r;
- uint16_t len = htons(req->uvbuf.len);
- uv_buf_t bufs[2] = { { .base = (char *)&len, .len = 2 },
+ uv_buf_t bufs[2] = { { .base = req->tcplen, .len = 2 },
{ .base = req->uvbuf.base,
.len = req->uvbuf.len } };