/* * Add a packet to the io vector. Return the number of bytes added to the vector. */ static void addPacketForNet(MaQueue *q, MaPacket *packet) { MaResponse *resp; MaConn *conn; MprIOVec *iovec; int index, mask; conn = q->conn; resp = conn->response; iovec = q->iovec; index = q->ioIndex; mprAssert(q->count >= 0); mprAssert(q->ioIndex < (MA_MAX_IOVEC - 2)); if (packet->prefix) { addToNetVector(q, mprGetBufStart(packet->prefix), mprGetBufLength(packet->prefix)); } if (maGetPacketLength(packet) > 0) { addToNetVector(q, mprGetBufStart(packet->content), mprGetBufLength(packet->content)); } mask = MA_TRACE_RESPONSE | ((packet->flags & MA_PACKET_HEADER) ? MA_TRACE_HEADERS : MA_TRACE_BODY); if (maShouldTrace(conn, mask)) { maTraceContent(conn, packet, 0, resp->bytesWritten, mask); } }
/* Add a packet to the io vector. Return the number of bytes added to the vector. */ static void addPacketForNet(HttpQueue *q, HttpPacket *packet) { HttpTx *tx; HttpConn *conn; int item; conn = q->conn; tx = conn->tx; mprAssert(q->count >= 0); mprAssert(q->ioIndex < (HTTP_MAX_IOVEC - 2)); if (packet->prefix) { addToNetVector(q, mprGetBufStart(packet->prefix), mprGetBufLength(packet->prefix)); } if (httpGetPacketLength(packet) > 0) { addToNetVector(q, mprGetBufStart(packet->content), mprGetBufLength(packet->content)); } item = (packet->flags & HTTP_PACKET_HEADER) ? HTTP_TRACE_HEADER : HTTP_TRACE_BODY; if (httpShouldTrace(conn, HTTP_TRACE_TX, item, tx->ext) >= 0) { httpTraceContent(conn, HTTP_TRACE_TX, item, packet, 0, (ssize) tx->bytesWritten); } }