Marid - Task Parallelism and Process Management in Rust

When building distributed systems and the different components that make up these systems, a simple and composable way of managing the lifetime of the many different running processes becomes necessary. At Cloud Foundry, my day job, we tend to use ifrit for managing multiple tasks within a single OS process. This has the advantage of being easily composable and a simple model for adding shutdown/failure behaviour. As an example, when shutting down a proxy server, one would want to allow all current connections to finish while not accepting any new connections. »