MCPcopy Create free account
hub / github.com/drogus/crows / main

Function main

cli/src/main.rs:60–101  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

58
59#[tokio::main]
60pub async fn main() -> anyhow::Result<()> {
61 let cli = Cli::parse();
62
63 match &cli.command {
64 Some(Commands::Upload { name, path }) => {
65 let content = std::fs::read(path)?;
66 let coordinator = create_coordinator().await?;
67
68 coordinator.upload_scenario(name.clone(), content).await??;
69 }
70 Some(Commands::Start {
71 name,
72 workers_number,
73 }) => {
74 let mut coordinator = create_coordinator().await?;
75 commands::start(&mut coordinator, name, workers_number).await?;
76 }
77 Some(Commands::Workers { command }) => match &command {
78 Some(WorkersCommands::List) => {
79 let coordinator = create_coordinator().await?;
80 let workers = coordinator.list_workers().await?;
81 println!(
82 "Available workers list:\n{}",
83 workers
84 .iter()
85 .map(|w| format!("\t{w}\n"))
86 .collect::<Vec<String>>()
87 .join("")
88 );
89 }
90 None => {}
91 },
92 Some(Commands::Run { path }) => {
93 commands::run(path)
94 .await
95 .expect("An error while running a scenario");
96 }
97 None => {}
98 }
99
100 Ok(())
101}

Callers

nothing calls this directly

Calls 5

create_coordinatorFunction · 0.85
startFunction · 0.85
runFunction · 0.85
list_workersMethod · 0.80
upload_scenarioMethod · 0.45

Tested by

no test coverage detected