I’m looking at Tokio as a candidate for re-implementation of a network deamon for a Unix/Linux system.
The original implementation is mostly C-based and the protocol is based on XDR. Backwards compatibility should be preserved.
I’ve already implented a hello world / proof of concept kind of thing based on the streaming server tutorial just to get some rought idea. Works quite well but I have a few questions:
Is Tokio the right library for this?
In this thread people say that Tokio isn’t something most people will use. This is frankly quite a shock for me - I thought Tokio was meant as a general-purpose async networking library. I don’t understand how most Rust users would not use that. Is there going to be some other library that most people would use?
One of the features of the existing imeplementation I am not so far able to re-implement in Tokio is DoS protection - in the original C implementation a token-bucket-based algorithm was used to decide when a connection should be
accept()-ed. Can I do this in Tokio somehow?