[PR #3368] [MERGED] recursor: reduce indirection in internal API #3781

Closed
opened 2026-03-16 12:02:24 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/3368
Author: @djc
Created: 11/28/2025
Status: Merged
Merged: 12/2/2025
Merged by: @djc

Base: mainHead: recursor-api


📝 Commits (10+)

  • f2efbf9 recursor: inline trivial function
  • fb9a7d2 recursor: inline single-caller function
  • fabdd8d recursor: move RecursorBuilder below Recursor
  • 0c33588 recursor: move builder initialization into RecursorBuilder::new()
  • 427f3e5 recursor: move simple Recursor getters down
  • 783d764 recursor: keep RecursorDnsHandle impl with type
  • b93c7f4 recursor: simplify some imports
  • 870f536 recursor: extract ValidatingRecursor type
  • ae55e4d recursor: extract ValidatingRecursor::new()
  • 7dac296 recursor: extract a DnssecConfig type

📊 Changes

4 files changed (+487 additions, -473 deletions)

View changed files

📝 crates/recursor/src/lib.rs (+19 -13)
📝 crates/recursor/src/recursor.rs (+385 -391)
📝 crates/recursor/src/recursor_dns_handle.rs (+70 -61)
📝 crates/server/src/store/recursor.rs (+13 -8)

📄 Description

I'm sort of thinking recursor doesn't really make much sense as a separate crate. How do others feel about merging it into the resolver crate, inside a separate feature-toggled recursor module? It's already somewhat tightly coupled anyway...


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/hickory-dns/hickory-dns/pull/3368 **Author:** [@djc](https://github.com/djc) **Created:** 11/28/2025 **Status:** ✅ Merged **Merged:** 12/2/2025 **Merged by:** [@djc](https://github.com/djc) **Base:** `main` ← **Head:** `recursor-api` --- ### 📝 Commits (10+) - [`f2efbf9`](https://github.com/hickory-dns/hickory-dns/commit/f2efbf9b61cfced8c91121dad1921bcfc3fec8ba) recursor: inline trivial function - [`fb9a7d2`](https://github.com/hickory-dns/hickory-dns/commit/fb9a7d2b55439a6dc106840e6f1b30c344ee26f2) recursor: inline single-caller function - [`fabdd8d`](https://github.com/hickory-dns/hickory-dns/commit/fabdd8dd03575763765d4b2a23df5afcd72a2247) recursor: move RecursorBuilder below Recursor - [`0c33588`](https://github.com/hickory-dns/hickory-dns/commit/0c33588764ce15bfe9f153e6ed6b0c577c4f85b3) recursor: move builder initialization into RecursorBuilder::new() - [`427f3e5`](https://github.com/hickory-dns/hickory-dns/commit/427f3e5f16efe835df6bf9361a4203873f437232) recursor: move simple Recursor getters down - [`783d764`](https://github.com/hickory-dns/hickory-dns/commit/783d7641e3cd891fe51c757af3283516fac51e69) recursor: keep RecursorDnsHandle impl with type - [`b93c7f4`](https://github.com/hickory-dns/hickory-dns/commit/b93c7f49574ee3c26e3e25bbeff8f5ea500b7b95) recursor: simplify some imports - [`870f536`](https://github.com/hickory-dns/hickory-dns/commit/870f536bf95fe4aecfaa17102e3b34e71fd2597f) recursor: extract ValidatingRecursor type - [`ae55e4d`](https://github.com/hickory-dns/hickory-dns/commit/ae55e4d084b9f43f6bb49f4f71d715173c8dad13) recursor: extract ValidatingRecursor::new() - [`7dac296`](https://github.com/hickory-dns/hickory-dns/commit/7dac296699ae0e85581991405c8a17ecad2a7382) recursor: extract a DnssecConfig type ### 📊 Changes **4 files changed** (+487 additions, -473 deletions) <details> <summary>View changed files</summary> 📝 `crates/recursor/src/lib.rs` (+19 -13) 📝 `crates/recursor/src/recursor.rs` (+385 -391) 📝 `crates/recursor/src/recursor_dns_handle.rs` (+70 -61) 📝 `crates/server/src/store/recursor.rs` (+13 -8) </details> ### 📄 Description I'm sort of thinking recursor doesn't really make much sense as a separate crate. How do others feel about merging it into the resolver crate, inside a separate feature-toggled `recursor` module? It's already somewhat tightly coupled anyway... --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 12:02:24 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/hickory-dns#3781
No description provided.