-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Radix/v7 #12064
Radix/v7 #12064
Conversation
Implement a more compact set of trees specifically for IPv4 and IPv6 addresses. This allows for more compact data structures and fewer memory allocations. Based on the existing radix tree implementation.
Splits the unified tree into a ipv4 specific and ipv6 specific tree.
Splits the unified tree into a ipv4 specific and ipv6 specific tree.
Splits the unified tree into a ipv4 specific and ipv6 specific tree.
Splits the unified tree into a ipv4 specific and ipv6 specific tree.
Use a more compact ipv4 specific structure.
Use a more compact ipv6 specific structure.
No longer used.
Rename types enum to reflect it is not using a radix tree anymore.
Move repeated pattern into helper function.
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #12064 +/- ##
==========================================
- Coverage 83.42% 83.42% -0.01%
==========================================
Files 910 913 +3
Lines 257642 256642 -1000
==========================================
- Hits 214949 214109 -840
+ Misses 42693 42533 -160
Flags with carried forward coverage won't be shown. Click here to find out more. |
Information: QA ran without warnings. Pipeline 23211 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the work, looks like a nice cleanup
CI : ✅
Code : I do not understand what these radix trees do, but I trust you
Commits segmentation : ok
Commit messages : good, nit : detect/iponly: reimplement with radix4 for ipv6
meant radix6
Git ID set : looks fine for me
CLA : you already contributed
Doc update : not needed
Redmine ticket : ok without it
Rustfmt : no rust, would have been nice
Tests : unit tests still here
Dependencies added: none
Merged in #12174, thanks! |
Rebase and cleanup of a branch I did a few years ago.
Reimplement radix tree as 2 specific implementations: one for ipv4 and one for ipv6. Update all users and remove old implementation.
Just cleanups, no ticket.