Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added documentation (moved from Wiki)
- Loading branch information
Showing
19 changed files
with
154 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# AMQP Endpoint | ||
|
||
This configuration node is needed by all the other AMQP nodes in order to specify the container (endpoint) to connect (i.e. broker, AMQP server, AMQP router, ...). | ||
|
||
The informatio to provide are : | ||
|
||
* **_Host_** : hostname or IP address of the container to connect; | ||
* **_Port_** : port of the above container; | ||
* **_Name_** : name used to identify the node inside the Node-RED flow; | ||
* **_Username_** : username for using SASL authentication | ||
* **_Password_** : password for using SASL authentication | ||
|
||
![AMQP endpoint node](images/amqp_endpoint_node.png) | ||
|
||
As defined by the used Rhea library, the default SASL behaviour is as follows. If the username and password are both specified, PLAIN will be used. If only a username is specified, ANONYMOUS will be used. If neither is specified, no SASl layer will be used. | ||
|
||
This configuration node defines the AMQP connection and related session that is used to connect to the remote container. All the other provided nodes can use the same endpoint node in order to have their links living in the same connection. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# AMQP Receiver | ||
|
||
![AMQP receiver node toolbox](images/amqp_receiver_node_toolbox.png) | ||
|
||
This is node is useful in order to create an AMQP receiver for connecting to an AMQP container (i.e. broker, AMQP server, AMQP router, ...) and start to receive messages. | ||
|
||
## Configuration | ||
|
||
The configuration allows to specify following parameters : | ||
|
||
* **_Endpoint_** : the AMQP endpoint configuration node which specifies the AMQP container to connect with this receiver; | ||
* **_Address_** : the AMQP address as source for this receiver node; | ||
* **_Autoaccept_** : this flag specifies if received messages should be automatically accepted. Defaults to true; | ||
* **_Credit window_** : A 'credit' window controlling the flow of messages over this receiver. Defaults to 100 if not specified. A value of 0 can be used to turn of automatic flow control and manage it directly; | ||
* **_Dynamic_** : this flag specifies a request for dynamic creation of a remote node (see AMQP 1.0 specification for more information); | ||
* **_Sender settle mode_** : it specifies the sender settle mode with following possibile values _unsettled_, _settled_ and _mixed_ as described by the AMQP 1.0 specification; | ||
* **_Receiver settle mode_** : it specifies the receiver settle mode with following possibile values _first_ and _second_ as described by the AMQP 1.0 specification; | ||
* **_Durable_** : it specifies what state of the terminus will be retained durably: the state of durable messages (_unsettled_state_ value), only existence and configuration of the terminus (_configuration_ value), or no state at all (_none_ value); | ||
* **_Expiry policy_** : expiry policy of the source (see AMQP 1.0 specification for more information); | ||
* **_Name_** : name used to identify the node inside the Node-RED flow; | ||
|
||
![AMQP receiver node](images/amqp_receiver_node.png) | ||
|
||
## Input/Output | ||
|
||
This node provides following input and output : | ||
|
||
* **_input_** : a "Node-RED" message with _msg.credits = <credits>_ in order to grant credits to the peer for executing manual flow control (when _Credit window_ parameter is set to 0); | ||
* **_output_** : a "Node-RED" message with _msg.payload = <AMQP message>_ with a JSON format containing body and optional header, properties, application_properties and so on. This is the received message. The other field is _msg.delivery = <AMQP delivery>_ with a JSON format containing information about delivery on received message (i.e. "tag"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
# AMQP Requester | ||
|
||
![AMQP requester node toolbox](images/amqp_requester_node_toolbox.png) | ||
|
||
This is node is useful in order to create an AMQP requester for connecting to an AMQP container (i.e. broker, AMQP server, AMQP router, ...), sending a request on the specified address and waiting for the response on a dynamically created address (specified in the request "reply-to" property). | ||
|
||
## Configuration | ||
|
||
The configuration allows to specify following parameters : | ||
|
||
* **_Endpoint_** : the AMQP endpoint configuration node which specifies the AMQP container to connect with this requester; | ||
* **_Address_** : the AMQP address as target for this requester node; | ||
* **_Name_** : name used to identify the node inside the Node-RED flow; | ||
|
||
![AMQP requester node](images/amqp_requester_node.png) | ||
|
||
## Input/Output | ||
|
||
This node provides following input and output : | ||
|
||
* **_input_** : a "Node-RED" message with _msg.payload = <AMQP message>_ with a JSON format containing body and optional header, properties, application_properties and so on. This is the request to send; | ||
* **_output_1_** : a "Node-RED" message with _msg.delivery = <AMQP delivery>_ with a JSON format containing information about delivery on sent message (i.e. "tag"). The other field is _msg.deliveryStatus = <AMQP delivery status>_ with accepted, rejected, released and modified as possible values; | ||
* **_output_2_** : a "Node-RED" message with _msg.payload = <AMQP message>_ with a JSON format containing body and optional header, properties, application_properties and so on. This is the response message. The other field is _msg.delivery = <AMQP delivery>_ with a JSON format containing information about delivery on received message (i.e. "tag"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
# AMQP Responder | ||
|
||
![AMQP responder node toolbox](images/amqp_responder_node_toolbox.png) | ||
|
||
This is node is useful in order to create an AMQP responder for connecting to an AMQP container (i.e. broker, AMQP server, AMQP router, ...), receiving a request on the specified address and then replying on the "reply-to" address specified in the request. | ||
|
||
## Configuration | ||
|
||
The configuration allows to specify following parameters : | ||
|
||
* **_Endpoint_** : the AMQP endpoint configuration node which specifies the AMQP container to connect with this responder; | ||
* **_Address_** : the AMQP address as source for this responder node; | ||
* **_Name_** : name used to identify the node inside the Node-RED flow; | ||
|
||
![AMQP responder node](images/amqp_responder_node.png) | ||
|
||
## Input/Output | ||
|
||
This node provides following input and output : | ||
|
||
* **_input_** : a "Node-RED" message with _msg.payload = <AMQP message>_ with a JSON format containing body and optional header, properties, application_properties and so on. This is the response to send; | ||
* **_output_** : a "Node-RED" message with _msg.payload = <AMQP message>_ with a JSON format containing body and optional header, properties, application_properties and so on. This is the received request to reply; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# AMQP Sender | ||
|
||
![AMQP sender node toolbox](images/amqp_sender_node_toolbox.png) | ||
|
||
This is node is useful in order to create an AMQP sender for connecting to an AMQP container (i.e. broker, AMQP server, AMQP router, ...) and start to send messages. | ||
|
||
## Configuration | ||
|
||
The configuration allows to specify following parameters : | ||
|
||
* **_Endpoint_** : the AMQP endpoint configuration node which specifies the AMQP container to connect with this sender; | ||
* **_Address_** : the AMQP address as target for this sender node; | ||
* **_Autosettle_** : this flag specifies if the sent messages should be automatically settled once the peer settles them. Defaults to true; | ||
* **_Dynamic_** : this flag specifies a request for the receiving peer to dynamically create a node at the target; | ||
* **_Sender settle mode_** : it specifies the sender settle mode with following possibile values _unsettled_, _settled_ and _mixed_ as described by the AMQP 1.0 specification; | ||
* **_Receiver settle mode_** : it specifies the receiver settle mode with following possibile values _first_ and _second_ as described by the AMQP 1.0 specification; | ||
* **_Durable_** : it specifies what state of the terminus will be retained durably: the state of durable messages (_unsettled_state_ value), only existence and configuration of the terminus (_configuration_ value), or no state at all (_none_ value); | ||
* **_Expiry policy_** : expiry policy of the target (see AMQP 1.0 specification for more information); | ||
* **_Name_** : name used to identify the node inside the Node-RED flow; | ||
|
||
![AMQP sender node](images/amqp_sender_node.png) | ||
|
||
## Input/Output | ||
|
||
This node provides following input and output : | ||
|
||
* **_input_** : a "Node-RED" message with _msg.payload = <AMQP message>_ with a JSON format containing body and optional header, properties, application_properties and so on. This is the message to send; | ||
* **_output_** : a "Node-RED" message with _msg.delivery = <AMQP delivery>_ with a JSON format containing information about delivery on sent message (i.e. "tag"). The other field is _msg.deliveryStatus = <AMQP delivery status>_ with accepted, rejected, released and modified as possible values; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
# Getting Started | ||
|
||
Consider a simple flow with a simple AMQP sender node which sends a message to a queue on a running broker and an AMQP receiver node which reads from the queue. | ||
|
||
![Getting started flow](images/getting_started/flow.png) | ||
|
||
# Sender flow | ||
|
||
The sender flow is composed of three following nodes : | ||
|
||
* _inject_ : it's used in order to inject the message to set inside the AMQP message body and send to the queue on the broker. The msg.payload field is set to "Hello"; | ||
* _function_ : it's a function node (named "toAMQPmessage") which get the message from the previous _inject_ node and copis its payload in the "body" field expected as AMQP message by the AMQP sender node in order to send it correctly; | ||
* _amqp-sender_ : an AMQP sender node which is configured to connect to a broker running on the local machine. It receives the message from the previous _function_ node and sends it to the configured queue; | ||
|
||
![Getting started sender flow](images/getting_started/sender_flow.png) | ||
|
||
# Receiver flow | ||
|
||
The receiver flow is composed of two following nodes : | ||
|
||
* _amqp-receiver_ : an AMQP sender node which is configured to connect to a broker running on the local machine. It reads message from a queue and provides it as output; | ||
* _debug_ : this debug node is used in order to show the "body" of the received AMQP message to the debug window; | ||
|
||
![Getting started receiver flow](images/getting_started/receiver_flow.png) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
Following the main features of nodes supported by the library. | ||
|
||
* [Getting Started](Getting-Started.md) | ||
|
||
Reference | ||
|
||
* [AMQP Endpoint](AMQP-Endpoint.md) | ||
* [AMQP Receiver](AMQP-Receiver.md) | ||
* [AMQP Sender](AMQP-Sender.md) | ||
* [AMQP Requester](AMQP-Requester.md) | ||
* [AMQP Responder](AMQP-Responder.md) |
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.