Lines Matching refs:txp
126 OSSL_QUIC_TX_PACKETISER *txp; member
187 static int tx_helper_init(struct tx_helper *h, OSSL_QUIC_TX_PACKETISER *txp, in tx_helper_init() argument
193 h->txp = txp; in tx_helper_init()
205 if (max_ppl > h->txp->el[enc_level].scratch_len) { in tx_helper_init()
208 scratch = OPENSSL_realloc(h->txp->el[enc_level].scratch, max_ppl); in tx_helper_init()
212 h->txp->el[enc_level].scratch = scratch; in tx_helper_init()
213 h->txp->el[enc_level].scratch_len = max_ppl; in tx_helper_init()
224 h->txp = NULL; in tx_helper_cleanup()
250 struct txp_el *el = &h->txp->el[h->enc_level]; in tx_helper_append_iovec()
289 struct txp_el *el = &h->txp->el[h->enc_level]; in tx_helper_begin()
355 if (h->txp->msg_callback != NULL && l > 0) { in tx_helper_commit()
372 h->txp->msg_callback(1, OSSL_QUIC1_VERSION, ctype, h->txn.data, l, in tx_helper_commit()
373 h->txp->msg_callback_ssl, in tx_helper_commit()
374 h->txp->msg_callback_arg); in tx_helper_commit()
426 static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp,
431 static size_t txp_determine_pn_len(OSSL_QUIC_TX_PACKETISER *txp);
432 static int txp_determine_ppl_from_pl(OSSL_QUIC_TX_PACKETISER *txp,
437 static size_t txp_get_mdpl(OSSL_QUIC_TX_PACKETISER *txp);
438 static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp,
441 static int txp_pkt_init(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp,
444 static void txp_pkt_cleanup(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp);
446 OSSL_QUIC_TX_PACKETISER *txp);
448 OSSL_QUIC_TX_PACKETISER *txp, size_t num_bytes);
449 static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp, struct txp_pkt *pkt,
451 static uint32_t txp_determine_archetype(OSSL_QUIC_TX_PACKETISER *txp,
456 OSSL_QUIC_TX_PACKETISER *txp; in ossl_quic_tx_packetiser_new() local
472 txp = OPENSSL_zalloc(sizeof(*txp)); in ossl_quic_tx_packetiser_new()
473 if (txp == NULL) in ossl_quic_tx_packetiser_new()
476 txp->args = *args; in ossl_quic_tx_packetiser_new()
477 txp->last_tx_time = ossl_time_zero(); in ossl_quic_tx_packetiser_new()
479 if (!ossl_quic_fifd_init(&txp->fifd, in ossl_quic_tx_packetiser_new()
480 txp->args.cfq, txp->args.ackm, txp->args.txpim, in ossl_quic_tx_packetiser_new()
481 get_sstream_by_id, txp, in ossl_quic_tx_packetiser_new()
482 on_regen_notify, txp, in ossl_quic_tx_packetiser_new()
483 on_confirm_notify, txp, in ossl_quic_tx_packetiser_new()
484 on_sstream_updated, txp, in ossl_quic_tx_packetiser_new()
487 OPENSSL_free(txp); in ossl_quic_tx_packetiser_new()
491 return txp; in ossl_quic_tx_packetiser_new()
494 void ossl_quic_tx_packetiser_free(OSSL_QUIC_TX_PACKETISER *txp) in ossl_quic_tx_packetiser_free() argument
498 if (txp == NULL) in ossl_quic_tx_packetiser_free()
501 ossl_quic_tx_packetiser_set_initial_token(txp, NULL, 0, NULL, NULL); in ossl_quic_tx_packetiser_free()
502 ossl_quic_fifd_cleanup(&txp->fifd); in ossl_quic_tx_packetiser_free()
503 OPENSSL_free(txp->conn_close_frame.reason); in ossl_quic_tx_packetiser_free()
508 OPENSSL_free(txp->el[enc_level].iovec); in ossl_quic_tx_packetiser_free()
509 OPENSSL_free(txp->el[enc_level].scratch); in ossl_quic_tx_packetiser_free()
512 OPENSSL_free(txp); in ossl_quic_tx_packetiser_free()
563 int ossl_quic_tx_packetiser_set_initial_token(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_initial_token() argument
569 if (!txp_check_token_len(token_len, txp_get_mdpl(txp))) in ossl_quic_tx_packetiser_set_initial_token()
572 if (txp->initial_token != NULL && txp->initial_token_free_cb != NULL) in ossl_quic_tx_packetiser_set_initial_token()
573 txp->initial_token_free_cb(txp->initial_token, txp->initial_token_len, in ossl_quic_tx_packetiser_set_initial_token()
574 txp->initial_token_free_cb_arg); in ossl_quic_tx_packetiser_set_initial_token()
576 txp->initial_token = token; in ossl_quic_tx_packetiser_set_initial_token()
577 txp->initial_token_len = token_len; in ossl_quic_tx_packetiser_set_initial_token()
578 txp->initial_token_free_cb = free_cb; in ossl_quic_tx_packetiser_set_initial_token()
579 txp->initial_token_free_cb_arg = free_cb_arg; in ossl_quic_tx_packetiser_set_initial_token()
583 int ossl_quic_tx_packetiser_set_cur_dcid(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_cur_dcid() argument
591 txp->args.cur_dcid = *dcid; in ossl_quic_tx_packetiser_set_cur_dcid()
595 int ossl_quic_tx_packetiser_set_cur_scid(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_cur_scid() argument
603 txp->args.cur_scid = *scid; in ossl_quic_tx_packetiser_set_cur_scid()
608 int ossl_quic_tx_packetiser_set_peer(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_peer() argument
612 BIO_ADDR_clear(&txp->args.peer); in ossl_quic_tx_packetiser_set_peer()
616 txp->args.peer = *peer; in ossl_quic_tx_packetiser_set_peer()
620 void ossl_quic_tx_packetiser_set_ack_tx_cb(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_ack_tx_cb() argument
626 txp->ack_tx_cb = cb; in ossl_quic_tx_packetiser_set_ack_tx_cb()
627 txp->ack_tx_cb_arg = cb_arg; in ossl_quic_tx_packetiser_set_ack_tx_cb()
630 void ossl_quic_tx_packetiser_set_qlog_cb(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_qlog_cb() argument
634 ossl_quic_fifd_set_qlog_cb(&txp->fifd, get_qlog_cb, get_qlog_cb_arg); in ossl_quic_tx_packetiser_set_qlog_cb()
638 int ossl_quic_tx_packetiser_discard_enc_level(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_discard_enc_level() argument
647 txp->args.crypto[ossl_quic_enc_level_to_pn_space(enc_level)] = NULL; in ossl_quic_tx_packetiser_discard_enc_level()
652 void ossl_quic_tx_packetiser_notify_handshake_complete(OSSL_QUIC_TX_PACKETISER *txp) in ossl_quic_tx_packetiser_notify_handshake_complete() argument
654 txp->handshake_complete = 1; in ossl_quic_tx_packetiser_notify_handshake_complete()
657 void ossl_quic_tx_packetiser_schedule_handshake_done(OSSL_QUIC_TX_PACKETISER *txp) in ossl_quic_tx_packetiser_schedule_handshake_done() argument
659 txp->want_handshake_done = 1; in ossl_quic_tx_packetiser_schedule_handshake_done()
662 void ossl_quic_tx_packetiser_schedule_ack_eliciting(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_schedule_ack_eliciting() argument
665 txp->force_ack_eliciting |= (1UL << pn_space); in ossl_quic_tx_packetiser_schedule_ack_eliciting()
668 void ossl_quic_tx_packetiser_schedule_ack(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_schedule_ack() argument
671 txp->want_ack |= (1UL << pn_space); in ossl_quic_tx_packetiser_schedule_ack()
684 int ossl_quic_tx_packetiser_generate(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_generate() argument
772 uint64_t cc_limit = txp->args.cc_method->get_tx_allowance(txp->args.cc_data); in ossl_quic_tx_packetiser_generate()
786 ossl_qtx_finish_dgram(txp->args.qtx); in ossl_quic_tx_packetiser_generate()
789 archetype = txp_determine_archetype(txp, cc_limit); in ossl_quic_tx_packetiser_generate()
800 if (!txp_should_try_staging(txp, enc_level, archetype, cc_limit, in ossl_quic_tx_packetiser_generate()
804 if (!txp_pkt_init(&pkt[enc_level], txp, enc_level, archetype, in ossl_quic_tx_packetiser_generate()
813 rc = txp_generate_for_el(txp, &pkt[enc_level], in ossl_quic_tx_packetiser_generate()
856 txp_pkt_postgen_update_pkt_overhead(&pkt[enc_level], txp); in ossl_quic_tx_packetiser_generate()
864 if (!txp_pkt_append_padding(&pkt[pad_el], txp, deficit)) in ossl_quic_tx_packetiser_generate()
902 rc = txp_pkt_commit(txp, &pkt[enc_level], archetype, in ossl_quic_tx_packetiser_generate()
927 ossl_qtx_finish_dgram(txp->args.qtx); in ossl_quic_tx_packetiser_generate()
932 txp_pkt_cleanup(&pkt[enc_level], txp); in ossl_quic_tx_packetiser_generate()
1207 static int txp_determine_geometry(OSSL_QUIC_TX_PACKETISER *txp, in txp_determine_geometry() argument
1223 phdr->pn_len = txp_determine_pn_len(txp); in txp_determine_geometry()
1228 phdr->dst_conn_id = txp->args.cur_dcid; in txp_determine_geometry()
1229 phdr->src_conn_id = txp->args.cur_scid; in txp_determine_geometry()
1254 phdr->token = txp->initial_token; in txp_determine_geometry()
1255 phdr->token_len = txp->initial_token_len; in txp_determine_geometry()
1267 mdpl = txp_get_mdpl(txp); in txp_determine_geometry()
1280 if (!txp_determine_ppl_from_pl(txp, cmpl, enc_level, hdr_len, &geom->cmppl)) in txp_determine_geometry()
1289 static uint32_t txp_determine_archetype(OSSL_QUIC_TX_PACKETISER *txp, in txp_determine_archetype() argument
1293 = ossl_ackm_get0_probe_request(txp->args.ackm); in txp_determine_archetype()
1324 static int txp_should_try_staging(OSSL_QUIC_TX_PACKETISER *txp, in txp_should_try_staging() argument
1334 if (!ossl_qtx_is_enc_level_provisioned(txp->args.qtx, enc_level)) in txp_should_try_staging()
1380 = ossl_ackm_get0_probe_request(txp->args.ackm); in txp_should_try_staging()
1391 if (a.allow_crypto && sstream_is_pending(txp->args.crypto[pn_space])) in txp_should_try_staging()
1395 if (a.allow_ack && (ossl_ackm_is_ack_desired(txp->args.ackm, pn_space) in txp_should_try_staging()
1396 || (txp->want_ack & (1UL << pn_space)) != 0)) in txp_should_try_staging()
1401 && (txp->force_ack_eliciting & (1UL << pn_space)) != 0) in txp_should_try_staging()
1405 if (a.allow_conn_fc && (txp->want_max_data in txp_should_try_staging()
1406 || ossl_quic_rxfc_has_cwm_changed(txp->args.conn_rxfc, 0))) in txp_should_try_staging()
1411 && (txp->want_max_streams_bidi in txp_should_try_staging()
1412 || ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_bidi_rxfc, in txp_should_try_staging()
1414 || txp->want_max_streams_uni in txp_should_try_staging()
1415 || ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_uni_rxfc, in txp_should_try_staging()
1420 if (a.allow_handshake_done && txp->want_handshake_done) in txp_should_try_staging()
1424 if (a.allow_conn_close && txp->want_conn_close && in txp_should_try_staging()
1436 for (cfq_item = ossl_quic_cfq_get_priority_head(txp->args.cfq, pn_space); in txp_should_try_staging()
1465 if (a.allow_stream_rel && txp->handshake_complete) { in txp_should_try_staging()
1477 ossl_quic_stream_iter_init(&it, txp->args.qsm, 0); in txp_should_try_staging()
1495 static size_t txp_determine_pn_len(OSSL_QUIC_TX_PACKETISER *txp) in txp_determine_pn_len() argument
1501 static int txp_determine_ppl_from_pl(OSSL_QUIC_TX_PACKETISER *txp, in txp_determine_ppl_from_pl() argument
1512 if (!ossl_qtx_calculate_plaintext_payload_len(txp->args.qtx, enc_level, in txp_determine_ppl_from_pl()
1520 static size_t txp_get_mdpl(OSSL_QUIC_TX_PACKETISER *txp) in txp_get_mdpl() argument
1522 return ossl_qtx_get_mdpl(txp->args.qtx); in txp_get_mdpl()
1528 OSSL_QUIC_TX_PACKETISER *txp = arg; in get_sstream_by_id() local
1532 return txp->args.crypto[pn_space]; in get_sstream_by_id()
1534 s = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id); in get_sstream_by_id()
1544 OSSL_QUIC_TX_PACKETISER *txp = arg; in on_regen_notify() local
1548 txp->want_handshake_done = 1; in on_regen_notify()
1551 txp->want_max_data = 1; in on_regen_notify()
1554 txp->want_max_streams_bidi = 1; in on_regen_notify()
1557 txp->want_max_streams_uni = 1; in on_regen_notify()
1560 txp->want_ack |= (1UL << pkt->ackm_pkt.pkt_space); in on_regen_notify()
1565 = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id); in on_regen_notify()
1571 ossl_quic_stream_map_update_state(txp->args.qsm, s); in on_regen_notify()
1577 = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id); in on_regen_notify()
1582 ossl_quic_stream_map_schedule_stop_sending(txp->args.qsm, s); in on_regen_notify()
1588 = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id); in on_regen_notify()
1594 ossl_quic_stream_map_update_state(txp->args.qsm, s); in on_regen_notify()
1603 static int txp_need_ping(OSSL_QUIC_TX_PACKETISER *txp, in txp_need_ping() argument
1609 || (txp->force_ack_eliciting & (1UL << pn_space)) != 0); in txp_need_ping()
1612 static int txp_pkt_init(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp, in txp_pkt_init() argument
1618 if (!txp_determine_geometry(txp, archetype, enc_level, in txp_pkt_init()
1626 if (!tx_helper_init(&pkt->h, txp, enc_level, in txp_pkt_init()
1628 txp_need_ping(txp, pn_space, &pkt->geom.adata) ? 1 : 0)) in txp_pkt_init()
1638 static void txp_pkt_cleanup(struct txp_pkt *pkt, OSSL_QUIC_TX_PACKETISER *txp) in txp_pkt_cleanup() argument
1647 ossl_quic_txpim_pkt_release(txp->args.txpim, pkt->tpkt); in txp_pkt_cleanup()
1653 OSSL_QUIC_TX_PACKETISER *txp) in txp_pkt_postgen_update_pkt_overhead() argument
1680 if (!ossl_qtx_calculate_ciphertext_payload_len(txp->args.qtx, pkt->h.enc_level, in txp_pkt_postgen_update_pkt_overhead()
1697 OSSL_QUIC_TX_PACKETISER *txp = arg; in on_confirm_notify() local
1703 = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id); in on_confirm_notify()
1709 ossl_quic_stream_map_update_state(txp->args.qsm, s); in on_confirm_notify()
1715 = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id); in on_confirm_notify()
1724 ossl_quic_stream_map_notify_reset_stream_acked(txp->args.qsm, s); in on_confirm_notify()
1725 ossl_quic_stream_map_update_state(txp->args.qsm, s); in on_confirm_notify()
1735 OSSL_QUIC_TX_PACKETISER *txp, size_t num_bytes) in txp_pkt_append_padding() argument
1768 OSSL_QUIC_TX_PACKETISER *txp = arg; in on_sstream_updated() local
1771 s = ossl_quic_stream_map_get_by_id(txp->args.qsm, stream_id); in on_sstream_updated()
1775 ossl_quic_stream_map_update_state(txp->args.qsm, s); in on_sstream_updated()
1782 static int try_commit_conn_close(OSSL_QUIC_TX_PACKETISER *txp, size_t n) in try_commit_conn_close() argument
1787 if (txp->closing_bytes_recv == 0) in try_commit_conn_close()
1802 res = txp->closing_bytes_xmit + n <= txp->closing_bytes_recv * 3; in try_commit_conn_close()
1808 if (res && txp->closing_bytes_recv != 0) in try_commit_conn_close()
1809 txp->closing_bytes_xmit += n; in try_commit_conn_close()
1814 OSSL_QUIC_TX_PACKETISER *txp, size_t n) in ossl_quic_tx_packetiser_record_received_closing_bytes() argument
1816 txp->closing_bytes_recv += n; in ossl_quic_tx_packetiser_record_received_closing_bytes()
1819 static int txp_generate_pre_token(OSSL_QUIC_TX_PACKETISER *txp, in txp_generate_pre_token() argument
1837 && (((txp->want_ack & (1UL << pn_space)) != 0) in txp_generate_pre_token()
1838 || ossl_ackm_is_ack_desired(txp->args.ackm, pn_space)) in txp_generate_pre_token()
1839 && (ack = ossl_ackm_get_ack_frame(txp->args.ackm, pn_space)) != NULL) { in txp_generate_pre_token()
1850 txp->args.ack_delay_exponent, in txp_generate_pre_token()
1860 if (txp->ack_tx_cb != NULL) in txp_generate_pre_token()
1861 txp->ack_tx_cb(&ack2, pn_space, txp->ack_tx_cb_arg); in txp_generate_pre_token()
1868 if (a->allow_conn_close && txp->want_conn_close && chosen_for_conn_close) { in txp_generate_pre_token()
1870 OSSL_QUIC_FRAME_CONN_CLOSE f, *pf = &txp->conn_close_frame; in txp_generate_pre_token()
1903 && try_commit_conn_close(txp, l)) { in txp_generate_pre_token()
2035 static int txp_generate_crypto_frames(OSSL_QUIC_TX_PACKETISER *txp, in txp_generate_crypto_frames() argument
2060 if (!ossl_quic_sstream_get_stream_frame(txp->args.crypto[pn_space], in txp_generate_crypto_frames()
2089 if (!txp_el_ensure_iovec(&txp->el[enc_level], h->num_iovec + 3)) in txp_generate_crypto_frames()
2130 static int txp_plan_stream_chunk(OSSL_QUIC_TX_PACKETISER *txp, in txp_plan_stream_chunk() argument
2183 static int txp_generate_stream_frames(OSSL_QUIC_TX_PACKETISER *txp, in txp_generate_stream_frames() argument
2220 if (!txp_plan_stream_chunk(txp, h, sstream, stream_txfc, i, &chunks[i], in txp_generate_stream_frames()
2259 if (!txp_plan_stream_chunk(txp, h, sstream, stream_txfc, i + 1, in txp_generate_stream_frames()
2335 if (!txp_el_ensure_iovec(&txp->el[enc_level], h->num_iovec + 3)) in txp_generate_stream_frames()
2399 static int txp_generate_stream_related(OSSL_QUIC_TX_PACKETISER *txp, in txp_generate_stream_related() argument
2411 for (ossl_quic_stream_iter_init(&it, txp->args.qsm, 1); in txp_generate_stream_related()
2539 if (!txp_generate_stream_frames(txp, pkt, in txp_generate_stream_related()
2565 static int txp_generate_for_el(OSSL_QUIC_TX_PACKETISER *txp, in txp_generate_for_el() argument
2588 if (!ossl_quic_pn_valid(txp->next_pn[pn_space])) in txp_generate_for_el()
2594 if ((pkt->tpkt = tpkt = ossl_quic_txpim_pkt_alloc(txp->args.txpim)) == NULL) in txp_generate_for_el()
2605 if (a.allow_handshake_done && txp->want_handshake_done in txp_generate_for_el()
2627 && (txp->want_max_data in txp_generate_for_el()
2628 || ossl_quic_rxfc_has_cwm_changed(txp->args.conn_rxfc, 0)) in txp_generate_for_el()
2631 uint64_t cwm = ossl_quic_rxfc_get_cwm(txp->args.conn_rxfc); in txp_generate_for_el()
2651 && (txp->want_max_streams_bidi in txp_generate_for_el()
2652 || ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_bidi_rxfc, 0)) in txp_generate_for_el()
2656 = ossl_quic_rxfc_get_cwm(txp->args.max_streams_bidi_rxfc); in txp_generate_for_el()
2677 && (txp->want_max_streams_uni in txp_generate_for_el()
2678 || ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_uni_rxfc, 0)) in txp_generate_for_el()
2682 = ossl_quic_rxfc_get_cwm(txp->args.max_streams_uni_rxfc); in txp_generate_for_el()
2702 for (cfq_item = ossl_quic_cfq_get_priority_head(txp->args.cfq, pn_space); in txp_generate_for_el()
2730 if (txp_generate_pre_token(txp, pkt, in txp_generate_for_el()
2776 if (txp_generate_pre_token(txp, pkt, in txp_generate_for_el()
2783 if (!txp_generate_crypto_frames(txp, pkt, &have_ack_eliciting)) in txp_generate_for_el()
2787 if (a.allow_stream_rel && txp->handshake_complete) in txp_generate_for_el()
2788 if (!txp_generate_stream_related(txp, pkt, in txp_generate_for_el()
2796 if (!have_ack_eliciting && txp_need_ping(txp, pn_space, &a)) { in txp_generate_for_el()
2826 tpkt->ackm_pkt.pkt_num = txp->next_pn[pn_space]; in txp_generate_for_el()
2833 tpkt->ackm_pkt.time = txp->args.now(txp->args.now_arg); in txp_generate_for_el()
2846 ossl_quic_txpim_pkt_release(txp->args.txpim, tpkt); in txp_generate_for_el()
2883 static int txp_pkt_commit(OSSL_QUIC_TX_PACKETISER *txp, in txp_pkt_commit() argument
2907 txpkt.iovec = txp->el[enc_level].iovec; in txp_pkt_commit()
2910 txpkt.peer = BIO_ADDR_family(&txp->args.peer) == AF_UNSPEC in txp_pkt_commit()
2911 ? NULL : &txp->args.peer; in txp_pkt_commit()
2912 txpkt.pn = txp->next_pn[pn_space]; in txp_pkt_commit()
2932 if (!ossl_quic_fifd_pkt_commit(&txp->fifd, tpkt)) in txp_pkt_commit()
2946 ++txp->next_pn[pn_space]; in txp_pkt_commit()
2950 if (!ossl_qtx_write_pkt(txp->args.qtx, &txpkt)) in txp_pkt_commit()
2988 ossl_quic_stream_map_update_state(txp->args.qsm, stream); in txp_pkt_commit()
2997 ossl_quic_stream_map_notify_all_data_sent(txp->args.qsm, stream); in txp_pkt_commit()
3002 txp->force_ack_eliciting &= ~(1UL << pn_space); in txp_pkt_commit()
3005 txp->want_handshake_done = 0; in txp_pkt_commit()
3008 txp->want_max_data = 0; in txp_pkt_commit()
3009 ossl_quic_rxfc_has_cwm_changed(txp->args.conn_rxfc, 1); in txp_pkt_commit()
3013 txp->want_max_streams_bidi = 0; in txp_pkt_commit()
3014 ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_bidi_rxfc, 1); in txp_pkt_commit()
3018 txp->want_max_streams_uni = 0; in txp_pkt_commit()
3019 ossl_quic_rxfc_has_cwm_changed(txp->args.max_streams_uni_rxfc, 1); in txp_pkt_commit()
3023 txp->want_ack &= ~(1UL << pn_space); in txp_pkt_commit()
3026 txp->want_conn_close = 0; in txp_pkt_commit()
3034 = ossl_ackm_get0_probe_request(txp->args.ackm); in txp_pkt_commit()
3071 int ossl_quic_tx_packetiser_schedule_conn_close(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_schedule_conn_close() argument
3076 size_t max_reason_len = txp_get_mdpl(txp) / 2; in ossl_quic_tx_packetiser_schedule_conn_close()
3078 if (txp->want_conn_close) in ossl_quic_tx_packetiser_schedule_conn_close()
3094 txp->conn_close_frame = *f; in ossl_quic_tx_packetiser_schedule_conn_close()
3095 txp->conn_close_frame.reason = reason; in ossl_quic_tx_packetiser_schedule_conn_close()
3096 txp->conn_close_frame.reason_len = reason_len; in ossl_quic_tx_packetiser_schedule_conn_close()
3097 txp->want_conn_close = 1; in ossl_quic_tx_packetiser_schedule_conn_close()
3101 void ossl_quic_tx_packetiser_set_msg_callback(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_msg_callback() argument
3105 txp->msg_callback = msg_callback; in ossl_quic_tx_packetiser_set_msg_callback()
3106 txp->msg_callback_ssl = msg_callback_ssl; in ossl_quic_tx_packetiser_set_msg_callback()
3109 void ossl_quic_tx_packetiser_set_msg_callback_arg(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_set_msg_callback_arg() argument
3112 txp->msg_callback_arg = msg_callback_arg; in ossl_quic_tx_packetiser_set_msg_callback_arg()
3115 QUIC_PN ossl_quic_tx_packetiser_get_next_pn(OSSL_QUIC_TX_PACKETISER *txp, in ossl_quic_tx_packetiser_get_next_pn() argument
3121 return txp->next_pn[pn_space]; in ossl_quic_tx_packetiser_get_next_pn()
3124 OSSL_TIME ossl_quic_tx_packetiser_get_deadline(OSSL_QUIC_TX_PACKETISER *txp) in ossl_quic_tx_packetiser_get_deadline() argument
3143 if (ossl_qtx_is_enc_level_provisioned(txp->args.qtx, enc_level)) { in ossl_quic_tx_packetiser_get_deadline()
3146 ossl_ackm_get_ack_deadline(txp->args.ackm, pn_space)); in ossl_quic_tx_packetiser_get_deadline()
3150 if (txp->args.cc_method->get_tx_allowance(txp->args.cc_data) == 0) in ossl_quic_tx_packetiser_get_deadline()
3152 txp->args.cc_method->get_wakeup_deadline(txp->args.cc_data)); in ossl_quic_tx_packetiser_get_deadline()