{ .mask = QUIC_EV_CONN_XPRTRECV, .name = "xprt_recv", .desc = "receiving XRPT subscription" },
{ .mask = QUIC_EV_CONN_FREED, .name = "conn_freed", .desc = "releasing conn. memory" },
{ .mask = QUIC_EV_CONN_CLOSE, .name = "conn_close", .desc = "closing conn." },
+ { .mask = QUIC_EV_CONN_ACKSTRM, .name = "ack_strm", .desc = "STREAM ack."},
{ /* end */ }
};
chunk_appendf(&trace_buf, "..%lu", *val2);
}
+ if (mask & QUIC_EV_CONN_ACKSTRM) {
+ const struct quic_stream *s = a2;
+ const struct qcs *qcs = a3;
+
+ if (s)
+ chunk_appendf(&trace_buf, " off=%llu len=%llu", (ull)s->offset.key, (ull)s->len);
+ if (qcs)
+ chunk_appendf(&trace_buf, " ack_offset=%llu", (ull)qcs->tx.ack_offset);
+ }
+
if (mask & QUIC_EV_CONN_RTTUPDT) {
const unsigned int *rtt_sample = a2;
const unsigned int *ack_delay = a3;
if (strm->offset.key > qcs->tx.ack_offset)
break;
+ TRACE_PROTO("stream consumed", QUIC_EV_CONN_ACKSTRM,
+ qcs->qcc->conn->qc, strm, qcs);
if (strm->offset.key + strm->len > qcs->tx.ack_offset) {
const size_t diff = strm->offset.key + strm->len -
qcs->tx.ack_offset;
struct qcs *qcs = frm->stream.qcs;
struct quic_stream *strm = &frm->stream;
+ TRACE_PROTO("acked stream", QUIC_EV_CONN_ACKSTRM, qc, strm, qcs);
if (strm->offset.key <= qcs->tx.ack_offset) {
if (strm->offset.key + strm->len > qcs->tx.ack_offset) {
const size_t diff = strm->offset.key + strm->len -
}
}
+ TRACE_PROTO("stream consumed", QUIC_EV_CONN_ACKSTRM,
+ qcs->qcc->conn->qc, strm, qcs);
LIST_DELETE(&frm->list);
quic_tx_packet_refdec(frm->pkt);
pool_free(pool_head_quic_frame, frm);