void qmux_dump_qcc_info(struct buffer *msg, const struct qcc *qcc)
{
- const struct quic_conn *qc = qcc->conn->handle.qc;
+ const struct quic_conn *qc = conn_is_quic(qcc->conn) ? qcc->conn->handle.qc : NULL;
chunk_appendf(msg, " qcc=%p(%c)", qcc, (qcc->flags & QC_CF_IS_BACK) ? 'B' : 'F');
- if (qcc->conn->handle.qc)
+ if (qc)
chunk_appendf(msg, " qc=%p", qcc->conn->handle.qc);
chunk_appendf(msg, " .st=%s .sc=%llu .hreq=%llu .flg=0x%04x",
qcc_app_st_to_str(qcc->app_st), (ullong)qcc->nb_sc,
(ullong)qcc->nb_hreq, qcc->flags);
- chunk_appendf(msg, " .tx=%llu %llu/%llu bwnd=%llu/%llu",
- (ullong)qcc->tx.fc.off_soft, (ullong)qcc->tx.fc.off_real, (ullong)qcc->tx.fc.limit,
- (ullong)qcc->tx.buf_in_flight, (ullong)qc->path->cwnd);
+ chunk_appendf(msg, " .tx=%llu %llu/%llu",
+ (ullong)qcc->tx.fc.off_soft, (ullong)qcc->tx.fc.off_real, (ullong)qcc->tx.fc.limit);
+ if (qc)
+ chunk_appendf(msg, " bwnd=%llu/%llu", (ullong)qcc->tx.buf_in_flight, (ullong)qc->path->cwnd);
}
void qmux_dump_qcs_info(struct buffer *msg, const struct qcs *qcs)