2 releases

0.1.1 Dec 15, 2020
0.1.0 Dec 1, 2020

#12 in #amqp-client

36 downloads per month

Apache-2.0

73KB
1.5K SLoC

IronMQ

Crates.io Build Status

Project is moved/renamed go to metalmq repo

Build and run

ironmq is under development, it is not feature complete but you can try and run with cargo run.

cargo run --bin ironmq
## or to enable logs
RUST_LOG=debug cargo run --bin ironmq

There are some examples in the examples directory, they implement simple scenarios of the ironmq-client library. To run execute

cargo run --example publish-consume
cargo test
cd ironmq
cargo test --features integration-tests

for example.

Checklist

  • Connection
    • Login
      • guest password
      • user management
  • Channel
  • Exchange
  • Queue
  • Basic

AMQP 0.9 client library

We need a client to test the server, so for that in the client091 folder I put the client implementation.

docker run -p 5672:5672 -p 15672:15672 rabbitmq:3-management

RUST_LOG=info cargo run

In order to validate AMQP packages we also need a stable AMQP client implementation which is the pika. It uses Python, so one need to install pipenv to run that.

cd ironmq-client
pipenv run bin/basic_publish.sh

AMQP server

Installation later when a stable client is implemented.


lib.rs:

Client of ironmq.

Usage

use ironmq_client::*;

async fn client() -> Result<()> {
    let conn = connect("127.0.0.1:5672".to_string()).await?;
    open(&conn, "/".into()).await?;
    channel_open(&conn, 1).await?;
    basic_publish(&conn, 1, "exchange", "routing", "Hello".into()).await?;
    close(&conn).await?;

    Ok(())
}

Dependencies

~10MB
~179K SLoC