citybound
trust-dns
Our great sponsors
citybound | trust-dns | |
---|---|---|
1 | 13 | |
7,405 | 3,180 | |
0.1% | - | |
0.0 | 7.7 | |
9 months ago | 7 days ago | |
Rust | Rust | |
GNU Affero General Public License v3.0 | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
citybound
We haven't tracked posts mentioning citybound yet.
Tracking mentions began in Dec 2020.
trust-dns
-
You might want async in your project
IO is not a part of the async runtime contract (I don't know if this is good or bad), and Tokio & futures famously have different `Async{Read,Write}` traits. I once had to do this [0] to adapt between them.
This means that any crate that uses IO will be bound to a limited number of Runtimes. Everything being Tokio-only is pretty bad (though Tokio itself is great), but here we are...
[0] https://github.com/bluejekyll/trust-dns/pull/1373#issuecomme...
-
What would you rewrite in Rust?
You might be interested in Trust DNS - "A Rust based DNS client, server, and Resolver, built to be safe and secure from the ground up."
-
Announcing `async-dns`
It looks like you need to reach for a separate crate for that: https://github.com/bluejekyll/trust-dns/blob/7dcb7b983f5407d95d93b800af13caeee975aaa8/crates/async-std-resolver/src/lib.rs
This is not true; you can use the async resolver with other executors: https://github.com/bluejekyll/trust-dns/blob/main/crates/resolver/src/async_resolver.rs
-
Innernet: Open source Rust based Tailscale alternative by Tonari
You could run a local DNS server using something like https://github.com/bluejekyll/trust-dns . Or, you could install an NSS module to resolve names via the innernet client.
-
single-producer single-consumer concurrent queue
My point is that "implementation that doesn't use unsafe" is not necessarily always slower than "implementation that does use unsafe". Often people assume that this is the case, and it isn't. tinyvec currently beats smallvec in more than a few benchmarks. Not all, but some. And this sometimes visible to users. The point is that if you want speed, you don't necessarily need to give up any safety at all. Most differences in performance are due to the amount of effort or expertise that has been spent on the codebase, not the amount of unsafe in it.
What are some alternatives?
parity-bitcoin - The Parity Bitcoin client
zemeroth - 😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust
rust-genetic-algorithm - A genetic algorithm for bechmark problems, written to learn Rust.
woodpecker - Drill is an HTTP load testing application written in Rust
tauri - Build smaller, faster, and more secure desktop applications with a web frontend.
Parity - (deprecated) The fast, light, and robust client for the Ethereum mainnet.
rsedis - Redis re-implemented in Rust.
Parallel
Servo - The Servo Browser Engine
tokei - Count your code, quickly.
iota - A terminal-based text editor written in Rust