comparison src/event/quic/ngx_event_quic_ack.c @ 8990:b42a041d23a2 quic

QUIC: introduced explicit stream states. This allows to eliminate the usage of stream connection event flags for tracking stream state.
author Roman Arutyunyan <arut@nginx.com>
date Mon, 31 Jan 2022 09:46:02 +0300
parents da112e7f8de6
children a2fbae359828
comparison
equal deleted inserted replaced
8989:81a3429db8b0 8990:b42a041d23a2
615 break; 615 break;
616 616
617 case NGX_QUIC_FT_STREAM: 617 case NGX_QUIC_FT_STREAM:
618 qs = ngx_quic_find_stream(&qc->streams.tree, f->u.stream.stream_id); 618 qs = ngx_quic_find_stream(&qc->streams.tree, f->u.stream.stream_id);
619 619
620 if (qs && qs->connection->write->error) { 620 if (qs) {
621 /* RESET_STREAM was sent */ 621 if (qs->send_state == NGX_QUIC_STREAM_SEND_RESET_SENT
622 ngx_quic_free_frame(c, f); 622 || qs->send_state == NGX_QUIC_STREAM_SEND_RESET_RECVD)
623 break; 623 {
624 ngx_quic_free_frame(c, f);
625 break;
626 }
624 } 627 }
625 628
626 /* fall through */ 629 /* fall through */
627 630
628 default: 631 default: