[PR #1226] [MERGED] Backpressure #2109

Closed
opened 2026-03-16 05:49:17 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/hickory-dns/hickory-dns/pull/1226
Author: @djc
Created: 10/5/2020
Status: Merged
Merged: 10/12/2020
Merged by: @djc

Base: mainHead: backpressure


📝 Commits (10+)

  • 483ffa8 explicitly name mpsc and oneshot types
  • 04e1581 abstract over BufStreamHandle creation
  • 4340883 rename unbounded_send() method to send()
  • e7f0979 make BufStreamHandle channels bounded
  • 7a8cef0 don't wake task for exhausted ID space
  • 95819ba proto: flatten type stack for request sender
  • 187104b proto: make BufDnsRequestStreamHandle channels bounded
  • d521b0f proto: provide explicit error when canceling outstanding requests
  • 1e57216 proto: propagate stream errors upward to request futures
  • 0e4c2f9 proto: actually trust NXDOMAIN responses

📊 Changes

30 files changed (+277 additions, -215 deletions)

View changed files

📝 crates/client/src/tests.rs (+1 -1)
📝 crates/native-tls/src/tests.rs (+2 -2)
📝 crates/native-tls/src/tls_stream.rs (+4 -7)
📝 crates/openssl/src/tls_stream.rs (+2 -8)
📝 crates/openssl/tests/openssl_tests.rs (+2 -2)
📝 crates/proto/src/error.rs (+14 -0)
📝 crates/proto/src/multicast/mdns_stream.rs (+7 -10)
📝 crates/proto/src/tcp/tcp_stream.rs (+12 -17)
📝 crates/proto/src/tests/tcp.rs (+2 -2)
📝 crates/proto/src/tests/udp.rs (+2 -2)
📝 crates/proto/src/udp/udp_stream.rs (+10 -22)
📝 crates/proto/src/xfer/dns_exchange.rs (+16 -18)
📝 crates/proto/src/xfer/dns_handle.rs (+4 -4)
📝 crates/proto/src/xfer/dns_multiplexer.rs (+29 -25)
📝 crates/proto/src/xfer/mod.rs (+18 -42)
📝 crates/proto/src/xfer/retry_dns_handle.rs (+31 -3)
📝 crates/resolver/src/dns_lru.rs (+4 -0)
📝 crates/resolver/src/error.rs (+24 -1)
📝 crates/resolver/src/lookup_state.rs (+9 -1)
📝 crates/resolver/src/name_server/connection_provider.rs (+4 -0)

...and 10 more files

📄 Description

No description provided


🔄 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/1226 **Author:** [@djc](https://github.com/djc) **Created:** 10/5/2020 **Status:** ✅ Merged **Merged:** 10/12/2020 **Merged by:** [@djc](https://github.com/djc) **Base:** `main` ← **Head:** `backpressure` --- ### 📝 Commits (10+) - [`483ffa8`](https://github.com/hickory-dns/hickory-dns/commit/483ffa87667e7646212152f79e893226b4efc08f) explicitly name mpsc and oneshot types - [`04e1581`](https://github.com/hickory-dns/hickory-dns/commit/04e158147068e362348de8767273c69048505145) abstract over BufStreamHandle creation - [`4340883`](https://github.com/hickory-dns/hickory-dns/commit/4340883ea21ef6f6e692eaa69bc6517a0fe5bee2) rename unbounded_send() method to send() - [`e7f0979`](https://github.com/hickory-dns/hickory-dns/commit/e7f0979436e2aac6917ed0418f84e0b4705d4428) make BufStreamHandle channels bounded - [`7a8cef0`](https://github.com/hickory-dns/hickory-dns/commit/7a8cef013266606653d512afeae9bf778dbb6113) don't wake task for exhausted ID space - [`95819ba`](https://github.com/hickory-dns/hickory-dns/commit/95819bab040e819fdfa35f803907f771a966f1bd) proto: flatten type stack for request sender - [`187104b`](https://github.com/hickory-dns/hickory-dns/commit/187104bbbe75c7d0f391ace4eeef8f0183584399) proto: make BufDnsRequestStreamHandle channels bounded - [`d521b0f`](https://github.com/hickory-dns/hickory-dns/commit/d521b0f72d9fc48bfbf27bec660e73e97aad732f) proto: provide explicit error when canceling outstanding requests - [`1e57216`](https://github.com/hickory-dns/hickory-dns/commit/1e572160250ac5c7423ada33181754104584ec42) proto: propagate stream errors upward to request futures - [`0e4c2f9`](https://github.com/hickory-dns/hickory-dns/commit/0e4c2f9a6e4212f3d3cbfafe471d68ce0376a4a4) proto: actually trust NXDOMAIN responses ### 📊 Changes **30 files changed** (+277 additions, -215 deletions) <details> <summary>View changed files</summary> 📝 `crates/client/src/tests.rs` (+1 -1) 📝 `crates/native-tls/src/tests.rs` (+2 -2) 📝 `crates/native-tls/src/tls_stream.rs` (+4 -7) 📝 `crates/openssl/src/tls_stream.rs` (+2 -8) 📝 `crates/openssl/tests/openssl_tests.rs` (+2 -2) 📝 `crates/proto/src/error.rs` (+14 -0) 📝 `crates/proto/src/multicast/mdns_stream.rs` (+7 -10) 📝 `crates/proto/src/tcp/tcp_stream.rs` (+12 -17) 📝 `crates/proto/src/tests/tcp.rs` (+2 -2) 📝 `crates/proto/src/tests/udp.rs` (+2 -2) 📝 `crates/proto/src/udp/udp_stream.rs` (+10 -22) 📝 `crates/proto/src/xfer/dns_exchange.rs` (+16 -18) 📝 `crates/proto/src/xfer/dns_handle.rs` (+4 -4) 📝 `crates/proto/src/xfer/dns_multiplexer.rs` (+29 -25) 📝 `crates/proto/src/xfer/mod.rs` (+18 -42) 📝 `crates/proto/src/xfer/retry_dns_handle.rs` (+31 -3) 📝 `crates/resolver/src/dns_lru.rs` (+4 -0) 📝 `crates/resolver/src/error.rs` (+24 -1) 📝 `crates/resolver/src/lookup_state.rs` (+9 -1) 📝 `crates/resolver/src/name_server/connection_provider.rs` (+4 -0) _...and 10 more files_ </details> ### 📄 Description _No description provided_ --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-03-16 05:49:17 +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#2109
No description provided.