From: Frédéric Lécaille Date: Wed, 2 Jun 2021 13:27:34 +0000 (+0200) Subject: MINOR: quic: quic_update_ack_ranges_list() code factorization X-Git-Tag: v2.5-dev8~130 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ef64cd07882aba3388a55b99f2f76446a99247e;p=thirdparty%2Fhaproxy.git MINOR: quic: quic_update_ack_ranges_list() code factorization Very minor modification to avoid repeating the same code section in this function when allocation new ack range. --- diff --git a/src/xprt_quic.c b/src/xprt_quic.c index 9639e04643..7701f85ab0 100644 --- a/src/xprt_quic.c +++ b/src/xprt_quic.c @@ -2260,17 +2260,24 @@ static void quic_arngs_set_enc_sz(struct quic_arngs *arngs) } } -/* Insert in ebtree node with as range value. - * Returns the ebtree node which has been inserted. +/* Insert ack range into tree of ack ranges. + * Returns the ack range node which has been inserted if succeeded, NULL if not. */ static inline -struct eb64_node *quic_insert_new_range(struct eb_root *root, - struct quic_arng_node *node, - struct quic_arng *ar) +struct quic_arng_node *quic_insert_new_range(struct quic_arngs *arngs, + struct quic_arng *ar) { - node->first.key = ar->first; - node->last = ar->last; - return eb64_insert(root, &node->first); + struct quic_arng_node *new_ar; + + new_ar = pool_alloc(pool_head_quic_arng); + if (new_ar) { + new_ar->first.key = ar->first; + new_ar->last = ar->last; + eb64_insert(&arngs->root, &new_ar->first); + arngs->sz++; + } + + return new_ar; } /* Update tree of ACK ranges with as new ACK range value. @@ -2304,27 +2311,18 @@ int quic_update_ack_ranges_list(struct quic_arngs *arngs, new = NULL; if (eb_is_empty(&arngs->root)) { - /* First range insertion. */ - new_node = pool_alloc(pool_head_quic_arng); + new_node = quic_insert_new_range(arngs, ar); if (!new_node) return 0; - quic_insert_new_range(&arngs->root, new_node, ar); - /* Increment the size of these ranges. */ - arngs->sz++; goto out; } le = eb64_lookup_le(&arngs->root, ar->first); if (!le) { - /* New insertion */ - new_node = pool_alloc(pool_head_quic_arng); + new_node = quic_insert_new_range(arngs, ar); if (!new_node) return 0; - - new = quic_insert_new_range(&arngs->root, new_node, ar); - /* Increment the size of these ranges. */ - arngs->sz++; } else { struct quic_arng_node *le_ar = @@ -2340,14 +2338,9 @@ int quic_update_ack_ranges_list(struct quic_arngs *arngs, new_node = le_ar; } else { - /* New insertion */ - new_node = pool_alloc(pool_head_quic_arng); + new_node = quic_insert_new_range(arngs, ar); if (!new_node) return 0; - - new = quic_insert_new_range(&arngs->root, new_node, ar); - /* Increment the size of these ranges. */ - arngs->sz++; } }