amq-rpc 0.1.0

RabbitMQ RPC library
Documentation
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(())
}