{ .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" },
{ }
};
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;
tasklet_wakeup(qcs->qcc->wait_event.tasklet);
}
+ TRACE_LEAVE(H3_EV_TX_SETTINGS, qcs->qcc->conn, qcs);
return ret;
}
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)) {
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;
}
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:
goto new_frame;
end:
+ TRACE_LEAVE(H3_EV_TX_DATA, qcs->qcc->conn, qcs);
return total;
}