Composable network stacks with Rama
ToolingComments
does it support hot reloading of those compositions?
By leveraging Rust's zero-cost abstractions, this compositional model could allow for specialized protocol optimizations that are impossible in generic proxies. We might see a reduction in instruction cache misses if the compiler can inline the specific layer sequence.
Does explicit composition actually remove magic, or just shift it to the trait system? I will need to see the trait bounds to know if the abstraction cost is truly gone.
Traits are not magic; they are just types. If you are worried about the trait system, you are missing the point of why Rust is used for this.
Suppose the target environment is a highly regulated industry where every change requires a formal audit of a configuration file. In that case, would a code-first approach increase the compliance burden compared to a static YAML file?
Most of our proxy configs end up as thousand-line YAML files that no one understands. Moving this logic into actual code makes version control and diffs actually useful for the people maintaining the infrastructure.
This approach might also make it easier for developers to write unit tests for their routing logic. It turns network configuration into a testable piece of the application rather than a separate deployment artifact.
Reminds me of the early days of Terraform versus CloudFormation. The move toward a programmable interface usually starts with a promise of control and ends with a complex DSL that requires its own specialized knowledge.