MINOR: mux-quic: define release app-ops
Define a new callback release inside qcc_app_ops. It is called when the
qcc MUX is freed via qc_release. This will allows to implement cleaning
on the app layer.
diff --git a/include/haproxy/mux_quic-t.h b/include/haproxy/mux_quic-t.h
index b15b884..20d633b 100644
--- a/include/haproxy/mux_quic-t.h
+++ b/include/haproxy/mux_quic-t.h
@@ -118,6 +118,7 @@
int (*decode_qcs)(struct qcs *qcs, int fin, void *ctx);
size_t (*snd_buf)(struct conn_stream *cs, struct buffer *buf, size_t count, int flags);
int (*finalize)(void *ctx);
+ void (*release)(void *ctx);
};
#endif /* USE_QUIC */
diff --git a/src/mux_quic.c b/src/mux_quic.c
index 8381a81..e68b362 100644
--- a/src/mux_quic.c
+++ b/src/mux_quic.c
@@ -481,6 +481,9 @@
TRACE_DEVEL("freeing qcc", QMUX_EV_QCC_END, conn);
+ if (qcc->app_ops && qcc->app_ops->release)
+ qcc->app_ops->release(qcc->ctx);
+
if (qcc->wait_event.tasklet)
tasklet_free(qcc->wait_event.tasklet);