shadow / shadow

Shadow is a discrete-event network simulator that directly executes real application code, enabling you to simulate distributed systems with thousands of network-connected processes in realistic and scalable private network experiments using your laptop, desktop, or server running Linux.

Home Page:https://shadow.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Consider changing config code to use figment

stevenengler opened this issue · comments

Shadow's configuration code currently uses clap to read cli options and serde_yaml to read yaml files. Then we do some merging to combine the two. But this makes the configuration code a bit awkward.

The figment library claims to handle this, so it might be nice to try it to simplify our configuration code. It's not immediately clear if it would support everything required by Shadow (for example including the default values in the clap help text like we do with generate_help_strs).