You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+10-3Lines changed: 10 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,7 +56,7 @@ Caveats:
56
56
- while you can have a `client` and a `server` application for both systems, you should only have one of the clients talk to the other's server. Don't connect both clients to both servers.
57
57
58
58
59
-
Currently only supports AMQP 0-9-1 as the broker protocol but can potentially support others in the future
59
+
Currently only supports AMQP 0-9-1 and MQTT 3-1-1 as the broker protocols, but can potentially support others in the future
60
60
61
61
## Why Rust?
62
62
@@ -84,15 +84,18 @@ Specific configuration structs are in `proxy-http-server/src/configuration.rs` a
84
84
85
85
## Setup
86
86
87
-
### Using the RabbitMQ web management UIs
87
+
### Using the RabbitMQ web management UIs (AMQP)
88
88
89
89
These instructions assume you are using the docker compose configuration and the default `conf.yaml` configurations for each.
90
90
91
91
1) Make sure that you run `docker compose up -d` from the root directory, to start both brokers and their associated management UIs.
92
92
2) Make sure that you have both applications started (do NOT start more than 1 of each). Each application should be connected to a separate broker.
93
93
3) To login to the broker that the server instance uses, go to localhost:15672, username `intersect_username`, password `intersect_password`
94
94
4) To login to the broker that the client instance uses, go to localhost:15673, username `intersect_username`, password `intersect_password`
95
-
5) On each application, click on the `Exchanges` tab, and click on the `intersect-messages` exchange.
95
+
5)
96
+
- IF AMQP: On each application, click on the `Exchanges` tab, and click on the `intersect-messages` exchange.
97
+
- IF MQTT: On each application, click on the `Queues and Streams` tab, then click on the queue (it should look like `mqtt-subscription-proxy-http-clientqos1` or `mqtt-subscription-proxy-http-serverqos1`).
98
+
96
99
6) Make sure that the `Publish message` dropdown is expanded, select the large text area which is labeled with `Payload:`
97
100
98
101
For the application on `localhost:15672`, set the payload to below (no newlines):
@@ -145,3 +148,7 @@ Now it's advisable to [run some INTERSECT-SDK examples](https://github.com/INTER
145
148
- one exchange for all messages for each application (see `shared-deps/src/protocols/amqp/mod.rs` to get name)
146
149
- routing keys will match SDK naming schematics (SOS hierarchy, "." as separator, end with ".{userspace|lifecycle|events}"). The routing key will roughly correspond to the `destination` field in an INTERSECT message, but the `destination` field only exists on userspace messages (event/lifecycle messages do not have a specific destination in mind).
147
150
- The queue name is hardcoded to match the name of the application.
151
+
152
+
## MQTT setup
153
+
154
+
- follows similar rationale to AMQP, except does not utilize exchanges.
0 commit comments