@@ -457,6 +457,7 @@ static int session_new(nghttp2_session **session_ptr,
457
457
(* session_ptr )-> remote_settings .max_concurrent_streams = 100 ;
458
458
459
459
(* session_ptr )-> max_send_header_block_length = NGHTTP2_MAX_HEADERSLEN ;
460
+ (* session_ptr )-> max_outbound_ack = NGHTTP2_DEFAULT_MAX_OBQ_FLOOD_ITEM ;
460
461
461
462
if (option ) {
462
463
if ((option -> opt_set_mask & NGHTTP2_OPT_NO_AUTO_WINDOW_UPDATE ) &&
@@ -516,6 +517,10 @@ static int session_new(nghttp2_session **session_ptr,
516
517
option -> no_closed_streams ) {
517
518
(* session_ptr )-> opt_flags |= NGHTTP2_OPTMASK_NO_CLOSED_STREAMS ;
518
519
}
520
+
521
+ if (option -> opt_set_mask & NGHTTP2_OPT_MAX_OUTBOUND_ACK ) {
522
+ (* session_ptr )-> max_outbound_ack = option -> max_outbound_ack ;
523
+ }
519
524
}
520
525
521
526
rv = nghttp2_hd_deflate_init2 (& (* session_ptr )-> hd_deflater ,
@@ -6857,7 +6862,7 @@ int nghttp2_session_add_ping(nghttp2_session *session, uint8_t flags,
6857
6862
mem = & session -> mem ;
6858
6863
6859
6864
if ((flags & NGHTTP2_FLAG_ACK ) &&
6860
- session -> obq_flood_counter_ >= NGHTTP2_MAX_OBQ_FLOOD_ITEM ) {
6865
+ session -> obq_flood_counter_ >= session -> max_outbound_ack ) {
6861
6866
return NGHTTP2_ERR_FLOODED ;
6862
6867
}
6863
6868
@@ -7002,7 +7007,7 @@ int nghttp2_session_add_settings(nghttp2_session *session, uint8_t flags,
7002
7007
return NGHTTP2_ERR_INVALID_ARGUMENT ;
7003
7008
}
7004
7009
7005
- if (session -> obq_flood_counter_ >= NGHTTP2_MAX_OBQ_FLOOD_ITEM ) {
7010
+ if (session -> obq_flood_counter_ >= session -> max_outbound_ack ) {
7006
7011
return NGHTTP2_ERR_FLOODED ;
7007
7012
}
7008
7013
}
0 commit comments