OSSL_CC_DATA *cc_data; /* QUIC Congestion Controller Instance */
OSSL_TIME (*now)(void *arg); /* Callback to get current time. */
void *now_arg;
- QLOG *qlog; /* Optional QLOG instance */
+ QLOG *(*get_qlog_cb)(void *arg); /* Optional QLOG retrieval func */
+ void *get_qlog_cb_arg;
/*
* Injected dependencies - crypto streams.
const BIO_ADDR *peer);
/*
- * Change the QLOG instance in use after instantiation.
+ * Change the QLOG instance retrieval function in use after instantiation.
*/
-void ossl_quic_tx_packetiser_set0_qlog(OSSL_QUIC_TX_PACKETISER *txp,
- QLOG *qlog);
+void ossl_quic_tx_packetiser_set_qlog_cb(OSSL_QUIC_TX_PACKETISER *txp,
+ QLOG *(*get_qlog_cb)(void *arg),
+ void *get_qlog_cb_arg);
/*
* Inform the TX packetiser that an EL has been discarded. Idempotent.
on_regen_notify, txp,
on_confirm_notify, txp,
on_sstream_updated, txp,
- args->qlog)) {
+ args->get_qlog_cb,
+ args->get_qlog_cb_arg)) {
OPENSSL_free(txp);
return NULL;
}
txp->ack_tx_cb_arg = cb_arg;
}
-void ossl_quic_tx_packetiser_set0_qlog(OSSL_QUIC_TX_PACKETISER *txp,
- QLOG *qlog)
+void ossl_quic_tx_packetiser_set_qlog_cb(OSSL_QUIC_TX_PACKETISER *txp,
+ QLOG *(*get_qlog_cb)(void *arg),
+ void *get_qlog_cb_arg)
{
- ossl_quic_fifd_set0_qlog(&txp->fifd, qlog);
+ ossl_quic_fifd_set_qlog_cb(&txp->fifd, get_qlog_cb, get_qlog_cb_arg);
+
}
int ossl_quic_tx_packetiser_discard_enc_level(OSSL_QUIC_TX_PACKETISER *txp,