Skip to content

Commit 48efb26

Browse files
committed
MINOR: h3/hq_interop: implement proper reset for abort/kill-conn
1 parent 9e67c7f commit 48efb26

2 files changed

Lines changed: 15 additions & 3 deletions

File tree

src/h3.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3102,8 +3102,14 @@ static void h3_lclose(struct qcs *qcs, enum qcc_app_ops_lclose_mode mode)
31023102
}
31033103
break;
31043104

3105-
default:
3106-
qcc_reset_stream(qcs, 0, 0);
3105+
case QCC_APP_OPS_LCLO_MODE_ABORT:
3106+
qcc_reset_stream(qcs, H3_ERR_REQUEST_CANCELLED, 0);
3107+
break;
3108+
3109+
case QCC_APP_OPS_LCLO_MODE_KILL_CONN:
3110+
qcc_reset_stream(qcs, H3_ERR_EXCESSIVE_LOAD, 0);
3111+
if (!(qcs->qcc->flags & (QC_CF_ERR_CONN|QC_CF_ERRL)))
3112+
qcc_set_error(qcs->qcc, H3_ERR_EXCESSIVE_LOAD, 1);
31073113
break;
31083114
}
31093115

src/hq_interop.c

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -331,9 +331,15 @@ static void hq_interop_lclose(struct qcs *qcs, enum qcc_app_ops_lclose_mode mode
331331
qcc_send_stream(qcs, 0, 0);
332332
break;
333333

334-
default:
334+
case QCC_APP_OPS_LCLO_MODE_ABORT:
335335
qcc_reset_stream(qcs, 0, 0);
336336
break;
337+
338+
case QCC_APP_OPS_LCLO_MODE_KILL_CONN:
339+
qcc_reset_stream(qcs, 0, 0);
340+
if (!(qcs->qcc->flags & (QC_CF_ERR_CONN|QC_CF_ERRL)))
341+
qcc_set_error(qcs->qcc, 0, 0);
342+
break;
337343
}
338344
}
339345

0 commit comments

Comments
 (0)