Open trkks opened 1 year ago
My initial plan was to keep some of the Node.js code and just have the orchestrator HTTP API and logic be rewritten, but as others pointed out having too many languages will make things too complicated.
So instead of making the current mDNS scanner into a microservice (and another container), a Rust equivalent should be found. Some crates I'm considering include:
webrtc-mdns
: bit low on documentation but query
-method seems promising I guesslibp2p-mdns
: similar to the above as it is just one part of a bigger cratemdns
: possibly the "standard" crate for this functionality, but last update is from 2 years agomdns-sd
: marginally less popular than the one above but currently maintained* [`mdns-sd`](https://crates.io/crates/mdns-sd): marginally less popular than the one above but currently maintained
I'm gonna go with this crate. Tested it (v0.9.1) to work with supervisor. Search/browse interface works with the service type _webthing._tcp.local.
instead of the mere webthing
that was is used on Node.js equivalent.
Dealing with Node.js has not been pleasant and I hope changing to Rust would make the HTTP-server and orchestration logic easier to reason about and maybe provide some novelty value for the project.
My plan is to use Actix Web based on its popularity, seemingly-straightforwardness and performance (which tbh most likely isn't needed here, but hey it sounds cool 🚀 ).