use serde_json::json;
use amq_rpc::{AmqpConnection, RpcClient};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let connection = AmqpConnection::new("amqp://guest:guest@localhost:5672");
let client = RpcClient::new(connection, Some(30000));
println!("Starting RPC client...");
client.start().await?;
println!("Sending add command: 5 + 3");
let result = client.send_command(
"math_queue",
"add",
vec![json!(5), json!(3)]
).await?;
println!("Result: {}", result);
println!("Sending multiply command: 4 * 7");
let result = client.send_command(
"math_queue",
"multiply",
vec![json!(4), json!(7)]
).await?;
println!("Result: {}", result);
println!("Closing client...");
client.close().await?;
Ok(())
}