MINOR: h3: add traces on frame send
Add h3 traces events for several sent frames : SETTINGS, HEADERS and
DATA.
diff --git a/src/h3.c b/src/h3.c
index 49750f9..8279c68 100644
--- a/src/h3.c
+++ b/src/h3.c
@@ -51,6 +51,12 @@
{ .mask = H3_EV_RX_HDR, .name = "rx_hdr", .desc = "receipt of H3 HEADERS frame" },
#define H3_EV_RX_SETTINGS (1ULL << 3)
{ .mask = H3_EV_RX_SETTINGS, .name = "rx_settings", .desc = "receipt of H3 SETTINGS frame" },
+#define H3_EV_TX_DATA (1ULL << 4)
+ { .mask = H3_EV_TX_DATA, .name = "tx_data", .desc = "transmission of H3 DATA frame" },
+#define H3_EV_TX_HDR (1ULL << 5)
+ { .mask = H3_EV_TX_HDR, .name = "tx_hdr", .desc = "transmission of H3 HEADERS frame" },
+#define H3_EV_TX_SETTINGS (1ULL << 6)
+ { .mask = H3_EV_TX_SETTINGS, .name = "tx_settings", .desc = "transmission of H3 SETTINGS frame" },
{ }
};
@@ -699,6 +705,8 @@
struct buffer pos, *res;
size_t frm_len;
+ TRACE_ENTER(H3_EV_TX_SETTINGS, qcs->qcc->conn, qcs);
+
BUG_ON_HOT(h3c->flags & H3_CF_SETTINGS_SENT);
ret = 0;
@@ -740,6 +748,7 @@
tasklet_wakeup(qcs->qcc->wait_event.tasklet);
}
+ TRACE_LEAVE(H3_EV_TX_SETTINGS, qcs->qcc->conn, qcs);
return ret;
}
@@ -757,6 +766,8 @@
int hdr;
int status = 0;
+ TRACE_ENTER(H3_EV_TX_HDR, qcs->qcc->conn, qcs);
+
sl = NULL;
hdr = 0;
for (blk = htx_get_head_blk(htx); blk; blk = htx_get_next_blk(htx, blk)) {
@@ -842,9 +853,11 @@
break;
}
+ TRACE_LEAVE(H3_EV_TX_HDR, qcs->qcc->conn, qcs);
return ret;
err:
+ TRACE_DEVEL("leaving on error", H3_EV_TX_HDR, qcs->qcc->conn, qcs);
return 0;
}
@@ -859,6 +872,8 @@
struct htx_blk *blk;
enum htx_blk_type type;
+ TRACE_ENTER(H3_EV_TX_DATA, qcs->qcc->conn, qcs);
+
htx = htx_from_buf(buf);
new_frame:
@@ -918,6 +933,7 @@
goto new_frame;
end:
+ TRACE_LEAVE(H3_EV_TX_DATA, qcs->qcc->conn, qcs);
return total;
}