Mercurial > hg > nginx
comparison src/event/quic/ngx_event_quic_streams.c @ 8875:13cb758e6ac0 quic
QUIC: reset stream only once.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 22 Sep 2021 14:02:56 +0300 |
parents | 630ecd703805 |
children | 1ead7d64e993 |
comparison
equal
deleted
inserted
replaced
8874:7f4b2687ac80 | 8875:13cb758e6ac0 |
---|---|
219 ngx_connection_t *pc; | 219 ngx_connection_t *pc; |
220 ngx_quic_frame_t *frame; | 220 ngx_quic_frame_t *frame; |
221 ngx_quic_stream_t *qs; | 221 ngx_quic_stream_t *qs; |
222 ngx_quic_connection_t *qc; | 222 ngx_quic_connection_t *qc; |
223 | 223 |
224 wev = c->write; | |
225 | |
226 if (wev->error) { | |
227 return NGX_OK; | |
228 } | |
229 | |
224 qs = c->quic; | 230 qs = c->quic; |
225 pc = qs->parent; | 231 pc = qs->parent; |
226 qc = ngx_quic_get_connection(pc); | 232 qc = ngx_quic_get_connection(pc); |
227 | 233 |
228 frame = ngx_quic_alloc_frame(pc); | 234 frame = ngx_quic_alloc_frame(pc); |
236 frame->u.reset_stream.error_code = err; | 242 frame->u.reset_stream.error_code = err; |
237 frame->u.reset_stream.final_size = c->sent; | 243 frame->u.reset_stream.final_size = c->sent; |
238 | 244 |
239 ngx_quic_queue_frame(qc, frame); | 245 ngx_quic_queue_frame(qc, frame); |
240 | 246 |
241 wev = c->write; | |
242 wev->error = 1; | 247 wev->error = 1; |
243 wev->ready = 1; | 248 wev->ready = 1; |
244 | 249 |
245 return NGX_OK; | 250 return NGX_OK; |
246 } | 251 } |