Lines Matching refs:qs

19 static void shutdown_flush_done(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs);
280 static ossl_unused int qsm_send_part_permits_gc(const QUIC_STREAM *qs) in qsm_send_part_permits_gc() argument
282 switch (qs->send_state) { in qsm_send_part_permits_gc()
292 static int qsm_ready_for_gc(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs) in qsm_ready_for_gc() argument
300 assert(!qs->deleted in qsm_ready_for_gc()
301 || !ossl_quic_stream_has_send(qs) in qsm_ready_for_gc()
302 || ossl_quic_stream_send_is_reset(qs) in qsm_ready_for_gc()
303 || ossl_quic_stream_send_get_final_size(qs, NULL)); in qsm_ready_for_gc()
306 qs->deleted in qsm_ready_for_gc()
307 && (!ossl_quic_stream_has_recv(qs) in qsm_ready_for_gc()
309 || qs->acked_stop_sending) in qsm_ready_for_gc()
310 && (!ossl_quic_stream_has_send(qs) in qsm_ready_for_gc()
311 || qs->send_state == QUIC_SSTREAM_STATE_DATA_RECVD in qsm_ready_for_gc()
312 || qs->send_state == QUIC_SSTREAM_STATE_RESET_RECVD); in qsm_ready_for_gc()
380 QUIC_STREAM *qs) in ossl_quic_stream_map_ensure_send_part_id() argument
382 switch (qs->send_state) { in ossl_quic_stream_map_ensure_send_part_id()
392 qs->send_state = QUIC_SSTREAM_STATE_SEND; in ossl_quic_stream_map_ensure_send_part_id()
402 QUIC_STREAM *qs) in ossl_quic_stream_map_notify_all_data_sent() argument
404 switch (qs->send_state) { in ossl_quic_stream_map_notify_all_data_sent()
412 if (!ossl_quic_sstream_get_final_size(qs->sstream, &qs->send_final_size)) in ossl_quic_stream_map_notify_all_data_sent()
415 qs->send_state = QUIC_SSTREAM_STATE_DATA_SENT; in ossl_quic_stream_map_notify_all_data_sent()
420 static void shutdown_flush_done(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs) in shutdown_flush_done() argument
422 if (!qs->shutdown_flush) in shutdown_flush_done()
426 qs->shutdown_flush = 0; in shutdown_flush_done()
431 QUIC_STREAM *qs) in ossl_quic_stream_map_notify_totally_acked() argument
433 switch (qs->send_state) { in ossl_quic_stream_map_notify_totally_acked()
441 qs->send_state = QUIC_SSTREAM_STATE_DATA_RECVD; in ossl_quic_stream_map_notify_totally_acked()
443 ossl_quic_sstream_free(qs->sstream); in ossl_quic_stream_map_notify_totally_acked()
444 qs->sstream = NULL; in ossl_quic_stream_map_notify_totally_acked()
446 shutdown_flush_done(qsm, qs); in ossl_quic_stream_map_notify_totally_acked()
452 QUIC_STREAM *qs, in ossl_quic_stream_map_reset_stream_send_part() argument
455 switch (qs->send_state) { in ossl_quic_stream_map_reset_stream_send_part()
471 if (!ossl_quic_stream_map_ensure_send_part_id(qsm, qs)) in ossl_quic_stream_map_reset_stream_send_part()
487 qs->send_final_size = ossl_quic_txfc_get_swm(&qs->txfc); in ossl_quic_stream_map_reset_stream_send_part()
491 qs->reset_stream_aec = aec; in ossl_quic_stream_map_reset_stream_send_part()
492 qs->want_reset_stream = 1; in ossl_quic_stream_map_reset_stream_send_part()
493 qs->send_state = QUIC_SSTREAM_STATE_RESET_SENT; in ossl_quic_stream_map_reset_stream_send_part()
495 ossl_quic_sstream_free(qs->sstream); in ossl_quic_stream_map_reset_stream_send_part()
496 qs->sstream = NULL; in ossl_quic_stream_map_reset_stream_send_part()
498 shutdown_flush_done(qsm, qs); in ossl_quic_stream_map_reset_stream_send_part()
499 ossl_quic_stream_map_update_state(qsm, qs); in ossl_quic_stream_map_reset_stream_send_part()
513 QUIC_STREAM *qs) in ossl_quic_stream_map_notify_reset_stream_acked() argument
515 switch (qs->send_state) { in ossl_quic_stream_map_notify_reset_stream_acked()
523 qs->send_state = QUIC_SSTREAM_STATE_RESET_RECVD; in ossl_quic_stream_map_notify_reset_stream_acked()
538 QUIC_STREAM *qs, in ossl_quic_stream_map_notify_size_known_recv_part() argument
541 switch (qs->recv_state) { in ossl_quic_stream_map_notify_size_known_recv_part()
549 qs->recv_state = QUIC_RSTREAM_STATE_SIZE_KNOWN; in ossl_quic_stream_map_notify_size_known_recv_part()
555 QUIC_STREAM *qs) in ossl_quic_stream_map_notify_totally_received() argument
557 switch (qs->recv_state) { in ossl_quic_stream_map_notify_totally_received()
565 qs->recv_state = QUIC_RSTREAM_STATE_DATA_RECVD; in ossl_quic_stream_map_notify_totally_received()
566 qs->want_stop_sending = 0; in ossl_quic_stream_map_notify_totally_received()
572 QUIC_STREAM *qs) in ossl_quic_stream_map_notify_totally_read() argument
574 switch (qs->recv_state) { in ossl_quic_stream_map_notify_totally_read()
582 qs->recv_state = QUIC_RSTREAM_STATE_DATA_READ; in ossl_quic_stream_map_notify_totally_read()
585 ossl_quic_rstream_free(qs->rstream); in ossl_quic_stream_map_notify_totally_read()
586 qs->rstream = NULL; in ossl_quic_stream_map_notify_totally_read()
592 QUIC_STREAM *qs, in ossl_quic_stream_map_notify_reset_recv_part() argument
598 switch (qs->recv_state) { in ossl_quic_stream_map_notify_reset_recv_part()
607 if (ossl_quic_stream_recv_get_final_size(qs, &prev_final_size) in ossl_quic_stream_map_notify_reset_recv_part()
612 qs->recv_state = QUIC_RSTREAM_STATE_RESET_RECVD; in ossl_quic_stream_map_notify_reset_recv_part()
613 qs->peer_reset_stream_aec = app_error_code; in ossl_quic_stream_map_notify_reset_recv_part()
616 qs->want_stop_sending = 0; in ossl_quic_stream_map_notify_reset_recv_part()
619 ossl_quic_rstream_free(qs->rstream); in ossl_quic_stream_map_notify_reset_recv_part()
620 qs->rstream = NULL; in ossl_quic_stream_map_notify_reset_recv_part()
622 ossl_quic_stream_map_update_state(qsm, qs); in ossl_quic_stream_map_notify_reset_recv_part()
638 QUIC_STREAM *qs) in ossl_quic_stream_map_notify_app_read_reset_recv_part() argument
640 switch (qs->recv_state) { in ossl_quic_stream_map_notify_app_read_reset_recv_part()
648 qs->recv_state = QUIC_RSTREAM_STATE_RESET_READ; in ossl_quic_stream_map_notify_app_read_reset_recv_part()
654 QUIC_STREAM *qs, in ossl_quic_stream_map_stop_sending_recv_part() argument
657 if (qs->stop_sending) in ossl_quic_stream_map_stop_sending_recv_part()
660 switch (qs->recv_state) { in ossl_quic_stream_map_stop_sending_recv_part()
693 qs->stop_sending = 1; in ossl_quic_stream_map_stop_sending_recv_part()
694 qs->stop_sending_aec = aec; in ossl_quic_stream_map_stop_sending_recv_part()
695 return ossl_quic_stream_map_schedule_stop_sending(qsm, qs); in ossl_quic_stream_map_stop_sending_recv_part()
699 int ossl_quic_stream_map_schedule_stop_sending(QUIC_STREAM_MAP *qsm, QUIC_STREAM *qs) in ossl_quic_stream_map_schedule_stop_sending() argument
701 if (!qs->stop_sending) in ossl_quic_stream_map_schedule_stop_sending()
708 if (qs->want_stop_sending) in ossl_quic_stream_map_schedule_stop_sending()
711 switch (qs->recv_state) { in ossl_quic_stream_map_schedule_stop_sending()
727 qs->want_stop_sending = 1; in ossl_quic_stream_map_schedule_stop_sending()
728 ossl_quic_stream_map_update_state(qsm, qs); in ossl_quic_stream_map_schedule_stop_sending()
783 QUIC_STREAM *qs, *qs_head, *qsn = NULL; in ossl_quic_stream_map_gc() local
785 for (qs = qs_head = ready_for_gc_head(&qsm->ready_for_gc_list); in ossl_quic_stream_map_gc()
786 qs != NULL && qs != qs_head; in ossl_quic_stream_map_gc()
787 qs = qsn) in ossl_quic_stream_map_gc()
789 qsn = ready_for_gc_next(&qsm->ready_for_gc_list, qs); in ossl_quic_stream_map_gc()
791 ossl_quic_stream_map_release(qsm, qs); in ossl_quic_stream_map_gc()
795 static int eligible_for_shutdown_flush(QUIC_STREAM *qs) in eligible_for_shutdown_flush() argument
805 switch (qs->send_state) { in eligible_for_shutdown_flush()
808 return !ossl_quic_sstream_is_totally_acked(qs->sstream); in eligible_for_shutdown_flush()
814 static void begin_shutdown_flush_each(QUIC_STREAM *qs, void *arg) in begin_shutdown_flush_each() argument
818 if (!eligible_for_shutdown_flush(qs) || qs->shutdown_flush) in begin_shutdown_flush_each()
821 qs->shutdown_flush = 1; in begin_shutdown_flush_each()