Crates.io | general-mq |
lib.rs | general-mq |
version | 0.1.15 |
source | src |
created_at | 2023-03-05 14:52:47.237841 |
updated_at | 2024-09-27 12:06:57.398889 |
description | General purposed interfaces for message queues. |
homepage | |
repository | https://github.com/woofdogtw/sylvia-iot-core.git |
max_upload_size | |
id | 801477 |
size | 301,069 |
General purposed interfaces for message queues. Now we provide the following implementations:
By using these classes, you can configure queues with the following properties:
Notes
The term connection describes a TCP/TLS connection to the message broker. The term queue describes a message queue or a topic within a connection. You can use one connection to manage multiple queues, or one connection to manage one queue.
A queue can only be a receiver or a sender at a time.
The sender and the receiver are usually different programs, there are two connections to hold two queues.
For the special case that a program acts both the sender and the receiver using the same queue:
Please prepare a RabbitMQ broker and a EMQX broker at localhost for testing.
To install using Docker:
$ docker run --rm --name rabbitmq -d -p 5672:5672 rabbitmq:management-alpine
$ docker run --rm --name emqx -d -p 1883:1883 emqx/emqx
Then run the test:
$ cargo test --test integration_test -- --nocapture
Launch RabbitMQ and then run AMQP example:
$ cargo run --example simple
Launch EMQX and then run MQTT example:
$ RUN_MQTT= cargo run --example simple