ev3_runner/
client.rs

1mod clientsession;
2mod validation;
3mod version;
4
5use crate::{
6    cli::{Action, Client},
7    client::clientsession::ClientSession,
8    protocol::{self},
9};
10use clientsession::ClientError;
11
12pub fn client(config: Client) -> Result<(), ClientError> {
13    let (action, args) = match config.action {
14        Action::Upload(args) => (protocol::Action::Upload, args),
15        Action::Run(args) => (protocol::Action::Run(args.brickrun), args),
16    };
17
18    let mut session = ClientSession::connect(args, action)?;
19    session.dispatch()?;
20
21    Ok(())
22}