💾 Archived View for gemini.hitchhiker-linux.org › gemlog › agis_0.4_release.gmi captured on 2024-02-05 at 09:43:37. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-06-14)
-=-=-=-=-=-=-
I release version 0.4 of Agis this evening. This release adds a number of new features as well as greater stability. Agis has been serving this capsule over the Spartan protocol for the past six months.
https://codeberg.org/jeang3nie/agis/releases/tag/v0.4.0
Binaries are available for the following platforms:
This has been a great learning project for me since it's inception. Rust provides some great networking and threading primitives in it's standard library and it's been nice to step away from the gui programming I do a lot of and work on something much more low level. It does, however, strain the brain sometimes when the compiler gets picky about eg. whether or not a certain type can be shared between threads. Indeed, I struggled with that initially when I attempted to add a requested feature - the ability to listen on both ipv4 and ipv6 addresses simultaneously. My original implementation required a separate thread pool for each address. This release wraps the thread pool in an `Arc<Mutex<_>>` wrapper, which can be cloned and sent into a new thread. Each listener runs in it's own thread, sharing the worker thread pool. I'm sure there are other ways of accomplishing the task.
All content for this site is licensed as CC BY-SA.
© 2022 by JeanG3nie