[PR #3033] [MERGED] resolver: simplify ConnectionProvider interface #3512

Closed
opened 2026-03-16 11:47:43 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/3033
Author: @djc
Created: 6/6/2025
Status: Merged
Merged: 6/6/2025
Merged by: @djc

Base: mainHead: simplify-provider


📝 Commits (9)

  • 1899cfb resolver: discard trivial GenericConnection and ConnectionResponse wrappers
  • 7a587b4 resolver: move Connecting enum into proto
  • 629bc52 proto: streamline QUIC/H3 stream builder API
  • ddca4cc resolver: inline small tls module
  • 1047b35 resolver: inline small h2 module
  • 0a919bc resolver: inline small quic module
  • b2ed9b5 resolver: inline small h3 module
  • d006662 resolver: make all RuntimeProviders implement ConnectionProvider
  • 00d5b20 recursor: abstract over ConnectionProvider instead of RuntimeProvider

📊 Changes

31 files changed (+468 additions, -695 deletions)

View changed files

📝 bin/src/lib.rs (+2 -2)
📝 bin/tests/integration/forwarder.rs (+5 -3)
📝 bin/tests/integration/named_quic_tests.rs (+5 -5)
📝 crates/proto/src/h3/h3_client_stream.rs (+29 -28)
📝 crates/proto/src/quic/quic_client_stream.rs (+2 -2)
📝 crates/proto/src/quic/tests.rs (+1 -3)
📝 crates/proto/src/xfer/dns_exchange.rs (+60 -2)
📝 crates/proto/src/xfer/mod.rs (+1 -1)
📝 crates/recursor/src/recursor.rs (+12 -19)
📝 crates/recursor/src/recursor_dns_handle.rs (+12 -12)
📝 crates/recursor/src/recursor_pool.rs (+7 -9)
📝 crates/resolver/README.md (+3 -3)
📝 crates/resolver/examples/custom_provider.rs (+4 -7)
📝 crates/resolver/examples/flush_cache.rs (+2 -2)
📝 crates/resolver/examples/global_resolver.rs (+3 -2)
📝 crates/resolver/examples/multithreaded_runtime.rs (+2 -2)
crates/resolver/src/h2.rs (+0 -79)
crates/resolver/src/h3.rs (+0 -67)
📝 crates/resolver/src/lib.rs (+9 -17)
📝 crates/resolver/src/name_server/connection_provider.rs (+240 -173)

...and 11 more files

📄 Description

Remove a bunch of boilerplate from trivial wrappers.


🔄 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/3033 **Author:** [@djc](https://github.com/djc) **Created:** 6/6/2025 **Status:** ✅ Merged **Merged:** 6/6/2025 **Merged by:** [@djc](https://github.com/djc) **Base:** `main` ← **Head:** `simplify-provider` --- ### 📝 Commits (9) - [`1899cfb`](https://github.com/hickory-dns/hickory-dns/commit/1899cfbd8578aa2c1a85d1bb4fa037db21b81cf7) resolver: discard trivial GenericConnection and ConnectionResponse wrappers - [`7a587b4`](https://github.com/hickory-dns/hickory-dns/commit/7a587b4ff6a01fafac24f92c6e48b2faba228203) resolver: move Connecting enum into proto - [`629bc52`](https://github.com/hickory-dns/hickory-dns/commit/629bc5211407118f721362fe770c87cad406b432) proto: streamline QUIC/H3 stream builder API - [`ddca4cc`](https://github.com/hickory-dns/hickory-dns/commit/ddca4cc8afb577d811ca8afe7b0c5fb17b202a38) resolver: inline small tls module - [`1047b35`](https://github.com/hickory-dns/hickory-dns/commit/1047b35c14ba849408c822a0c6799588ebebba26) resolver: inline small h2 module - [`0a919bc`](https://github.com/hickory-dns/hickory-dns/commit/0a919bc1807f377e670f995bebbeba0f957327be) resolver: inline small quic module - [`b2ed9b5`](https://github.com/hickory-dns/hickory-dns/commit/b2ed9b51e24349d1d8d32cf6f5bd10d2a5a0b7e5) resolver: inline small h3 module - [`d006662`](https://github.com/hickory-dns/hickory-dns/commit/d006662de706fa5297a3ec8cf190344521ca88eb) resolver: make all RuntimeProviders implement ConnectionProvider - [`00d5b20`](https://github.com/hickory-dns/hickory-dns/commit/00d5b200037c1ef37440e5fe0d272c888f3d67aa) recursor: abstract over ConnectionProvider instead of RuntimeProvider ### 📊 Changes **31 files changed** (+468 additions, -695 deletions) <details> <summary>View changed files</summary> 📝 `bin/src/lib.rs` (+2 -2) 📝 `bin/tests/integration/forwarder.rs` (+5 -3) 📝 `bin/tests/integration/named_quic_tests.rs` (+5 -5) 📝 `crates/proto/src/h3/h3_client_stream.rs` (+29 -28) 📝 `crates/proto/src/quic/quic_client_stream.rs` (+2 -2) 📝 `crates/proto/src/quic/tests.rs` (+1 -3) 📝 `crates/proto/src/xfer/dns_exchange.rs` (+60 -2) 📝 `crates/proto/src/xfer/mod.rs` (+1 -1) 📝 `crates/recursor/src/recursor.rs` (+12 -19) 📝 `crates/recursor/src/recursor_dns_handle.rs` (+12 -12) 📝 `crates/recursor/src/recursor_pool.rs` (+7 -9) 📝 `crates/resolver/README.md` (+3 -3) 📝 `crates/resolver/examples/custom_provider.rs` (+4 -7) 📝 `crates/resolver/examples/flush_cache.rs` (+2 -2) 📝 `crates/resolver/examples/global_resolver.rs` (+3 -2) 📝 `crates/resolver/examples/multithreaded_runtime.rs` (+2 -2) ➖ `crates/resolver/src/h2.rs` (+0 -79) ➖ `crates/resolver/src/h3.rs` (+0 -67) 📝 `crates/resolver/src/lib.rs` (+9 -17) 📝 `crates/resolver/src/name_server/connection_provider.rs` (+240 -173) _...and 11 more files_ </details> ### 📄 Description Remove a bunch of boilerplate from trivial wrappers. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 11:47:43 +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#3512
No description provided.