-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Timetravel 2024-08-14 snapshot #48
Open
sthagen
wants to merge
1
commit into
timetravel-2024-08-08
Choose a base branch
from
timetravel-2024-08-14
base: timetravel-2024-08-08
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
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
Signed-off-by: Stefan Hagen <[email protected]>
sthagen
added
documentation
Improvements or additions to documentation
editorial
Mostly editorial changes.
labels
Aug 27, 2024
Diff of google produced markdown: --- mqtt-sn-v2.0-wd-snapshot-20240808T201000Z.md 2024-08-08 22:11:00
+++ mqtt-sn-v2.0-wd-snapshot-20240814T220000Z.md 2024-08-15 00:14:17
@@ -859,7 +859,7 @@
Unless stated otherwise all variable length UTF-8 encoded strings can have any length in the range 0 to 65,535 bytes.
-| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+| Byte \\ Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| byte 1 …. | UTF-8 encoded character data, if length \> 0\. | | | | | | | |
\ No newline at end of file
@@ -883,7 +883,7 @@
For example, the string A𪛔 which is LATIN CAPITAL Letter A followed by the code point U+2A6D4 (which represents a CJK IDEOGRAPH EXTENSION B character) is encoded as follows:
-| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
+| Byte \\ BitBit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| byte 1 | ‘A’ (0x41) | | | | | | | |
| | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
\ No newline at end of file
@@ -1182,6 +1182,8 @@
This section specifies the format of the individual MQTT-SN packets.
### **3.1.1 ADVERTISE \- Gateway Advertisement** {#3.1.1-advertise---gateway-advertisement}
+
+![][image2]
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
\ No newline at end of file
@@ -1221,6 +1223,8 @@
### **3.1.2 SEARCHGW \- Search for A Gateway** {#3.1.2-searchgw---search-for-a-gateway}
+![][image3]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -1249,6 +1253,8 @@
### **3.1.3 GWINFO \- Gateway Information** {#3.1.3-gwinfo---gateway-information}
+![][image4]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -1277,6 +1283,8 @@
The *GwAdd* field has a variable length and contains the address of a Gateway. Its length depends on the type of network over which MQTT-SN operates and is specified by the Length byte. Optional, only included if the packet is sent by a client.
### **3.1.4 CONNECT \- Connection Request** {#3.1.4-connect---connection-request}
+
+![][image5]
| Bit | 7 | 6 | | 5 | | 4 | 3 | | 2 | 1 | | 0 | |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
\ No newline at end of file
@@ -1511,6 +1519,8 @@
### **3.1.5 CONNACK \- Connect Acknowledgement** {#3.1.5-connack---connect-acknowledgement}
+![][image6]
+
| Bit | 7 | 6 | | 5 | | 4 | | 3 | | 2 | | 1 | | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | | | | | | | |
\ No newline at end of file
@@ -1611,6 +1621,8 @@
### **3.1.6 AUTH \- Authentication Exchange** {#3.1.6-auth---authentication-exchange}
+![][image7]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -1659,6 +1671,8 @@
Refer to [section 4.11](\#4.11-enhanced-authentication) for more information about extended authentication.
### **3.1.7 REGISTER \- Register Topic Alias Request** {#3.1.7-register---register-topic-alias-request}
+
+![][image8]
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
\ No newline at end of file
@@ -1696,6 +1710,8 @@
### **3.1.8 REGACK \- Register Topic Alias Response** {#3.1.8-regack---register-topic-alias-response}
+![][image9]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | | 1 | | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | | | |
\ No newline at end of file
@@ -1748,6 +1764,8 @@
### **3.1.10 PUBWOS \- Publish Without Session** {#3.1.10-pubwos---publish-without-session}
+![][image10]
+
| Bit | 7 | 6 | | 5 | | 4 | 3 | | | 2 | | 1 | 0 | |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | ----- | :---: | ----- | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | | | | | | | |
\ No newline at end of file
@@ -1802,6 +1820,8 @@
### **3.1.11 PUBLISH \- QoS 0** {#3.1.11-publish---qos-0}
+![][image11]
+
| Bit | 7 | 6 | | 5 | | 4 | 3 | | | 2 | | 1 | 0 | |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | ----- | :---: | ----- | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | | | | | | | |
\ No newline at end of file
@@ -1845,6 +1865,8 @@
### **3.1.12 PUBLISH \- QoS 1 and 2** {#3.1.12-publish---qos-1-and-2}
+![][image12]
+
| Bit | 7 | 6 | | 5 | | 4 | 3 | | | 2 | | 1 | 0 | |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | ----- | :---: | ----- | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | | | | | | | |
\ No newline at end of file
@@ -1943,6 +1965,8 @@
### **3.1.13 PUBACK – Publish Acknowledgement** {#3.1.13-puback-–-publish-acknowledgement}
+![][image13]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -1973,6 +1997,8 @@
### **3.1.14 PUBREC (QoS 2 delivery part 1\)** {#3.1.14-pubrec-(qos-2-delivery-part-1)}
+![][image14]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -2003,6 +2029,8 @@
### **3.1.15 PUBREL (QoS 2 delivery part 2\)** {#3.1.15-pubrel-(qos-2-delivery-part-2)}
+![][image15]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -2033,6 +2061,8 @@
### **3.1.16 PUBCOMP \- Publish Complete (QoS 2 delivery part 3\)** {#3.1.16-pubcomp---publish-complete-(qos-2-delivery-part-3)}
+![][image16]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -2063,6 +2093,12 @@
### **3.1.17 SUBSCRIBE \- Subscribe Request** {#3.1.17-subscribe---subscribe-request}
+![][image17]
+
+Or
+
+![][image18]
+
| Bit | 7 | 6 | | 5 | | | 4 | 3 | | 2 | 1 | 0 | |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | ----- | :---: | :---: |
| Byte 1 | Length | | | | | | | | | | | | |
\ No newline at end of file
@@ -2132,6 +2168,8 @@
### **3.1.18 SUBACK \- Subscribe Acknowledgement** {#3.1.18-suback---subscribe-acknowledgement}
+![][image19]
+
| Bit | 7 | 6 | | 5 | | 4 | 3 | | 2 | 1 | | 0 | |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | | | | | | |
\ No newline at end of file
@@ -2172,6 +2210,12 @@
Byte 8 in the SUBACK packet holds the Reason code in response to the SUBSCRIBE packet. The SUBACK Reason Codes are shown in Table 9: Reason Code Values.The Server sending the SUBACK packet MUST use one of the SUBACK Reason Codes.
### **3.1.19 UNSUBSCRIBE \- Unsubscribe Request** {#3.1.19-unsubscribe---unsubscribe-request}
+
+![][image20]
+
+Or:
+
+![][image21]
| Bit | 7 | 6 | | 5 | | 4 | 3 | | | | 2 | 1 | 0 | |
| ----- | ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | ----- | :---: | :---: |
\ No newline at end of file
@@ -2223,6 +2267,8 @@
### **3.1.20 UNSUBACK \- Unsubscribe Acknowledgement** {#3.1.20-unsuback---unsubscribe-acknowledgement}
+![][image22]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -2249,6 +2295,8 @@
### **3.1.21 PINGREQ \- Ping Request** {#3.1.21-pingreq---ping-request}
+![][image23]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -2281,6 +2329,8 @@
### **3.1.22 PINGRESP \- Ping Response** {#3.1.22-pingresp---ping-response}
+![][image24]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -2317,6 +2367,8 @@
### **3.1.23 DISCONNECT \- Disconnect Notification** {#3.1.23-disconnect---disconnect-notification}
+![][image25]
+
| Bit | 7 | 6 | | 5 | | 4 | | 3 | | 2 | | 1 | | 0 | | |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | | | | | | | | | |
\ No newline at end of file
@@ -2398,6 +2450,8 @@
### **3.1.24 WAKEUP \- Wake up request**
+![][image26]
+
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| Byte 1 | Length | | | | | | | |
\ No newline at end of file
@@ -2416,6 +2470,8 @@
The Client MAY choose to follow the AWAKE procedure in response to receiving a WAKEUP packet \[MQTT-SN-3.1.21.4-2\].
### **3.1.25 Forwarder Encapsulation** {#3.1.25-forwarder-encapsulation}
+
+![][image27]
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
\ No newline at end of file
@@ -2462,7 +2518,7 @@
### **3.1.26 Protection Encapsulation** {#3.1.26-protection-encapsulation}
-###
+### **![][image28]**
| Bit | 7 | 6 | | 5 | | 4 | 3 | | 2 | 1 | | 0 |
| ----- | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
\ No newline at end of file
@@ -2672,11 +2728,11 @@
The CONNECT packet contains flags to communicate to the gateway that Auth interactions, or WILL interactions should take place.
-![][image2]
+![][image29]
Figure 3a: Connect procedure (without Auth flag not Will flag set or no further authentication data required)
-![][image3]
+![][image30]
Figure 3b: Connect procedure (with Auth flag set and additional authentication data required)
\ No newline at end of file
@@ -3165,7 +3221,7 @@
The architectures described below are meant as examples and are not exhaustive.
-![][image4]
+![][image31]
Figure 1: MQTT-SN Architecture
\ No newline at end of file
@@ -3175,9 +3231,9 @@
Although the implementation of the transparent Gateway is simpler when compared to the one of an aggregating Gateway, it requires the MQTT server to support a separate connection for each active client. Some MQTT server implementations might impose a limitation on the number of concurrent connections that they support.
- ![A close up of a mapDescription automatically generated][image5]
+ ![A close up of a mapDescription automatically generated][image32]
-![][image6]
+![][image33]
Figure XX2: Transparent and Aggregating Gateway scenarios
\ No newline at end of file
@@ -3185,21 +3241,21 @@
Instead of having a MQTT connection for each connected client, an aggregating Gateway will have only one MQTT connection to the Server. All packet exchanges between a MQTT-SN client and an aggregating Gateway end at the Gateway. The Gateway then decides which information will be given further to the MQTT BrokerServer. Although its implementation is more complex than the one of a transparent Gateway, an aggregating Gateway may be helpful in case of WSNs with a very large number of SAs because it reduces the number of MQTT connections that the Gateway must support concurrently.
-![][image7]
+![][image34]
Figure XX: Aggregating Gateway scenario
### **4.11.3 Forwarder encapsulator**
-![][image8]
+![][image35]
-Figure XX: Forwarder encapsulator with TransparentGateway scenario![][image9]
+Figure XX: Forwarder encapsulator with TransparentGateway scenario![][image36]
Figure XX: Forwarder encapsulator with Aggregating Gateway scenario
### **4.13.4 MQTT-SN broker**
-![][image10]
+![][image37]
Figure XX: MQTT-SN broker scenario
\ No newline at end of file
@@ -3239,7 +3295,7 @@
| **AWAKE** | The client is partially engaged in an ongoing session; it is obliged to not send ANY packets other than those involved in the receipt of PUBLISH packets (PUBACK, PUBREC, PUBCOMP, REGACK) or a DISCONNECT to transition to **DISCONNECTED**. The client transitions back to the **ASLEEP** state on receipt of a PINGRESP packet or **LOST** (by way of supervised gateway timers for the possible PUBACK, PUBREC, PUBCOMP or REGACK packets to be received from the Client). | **ASLEEP DISCONNECTED LOST** |
| **LOST** | The client is considered offline and not able to receive packets until it has re-established a session with the GW by way of a CONNECT. The gateway **must not** attempt to send packets to a client in the **LOST** state**.** Any packets received from a client whose state is **LOST** should not be processed and a DISCONNECT with error should be sent in response, unless the packets received are PUBLISH WITHOUT SESSION or PUBLISH QoS \-1. Session state may exist on the GW for a client in the **LOST** state. | **ACTIVE** |
-![][image11]
+![][image38]
Figure 4: The Server vView of the Client State
\ No newline at end of file
@@ -3396,7 +3452,7 @@
The gateway should attempt to make the best effort to reuse the same topic alias mappings that existed during any initial associated ACTIVE states.
-![][image12]
+![][image39]
Figure 5: Awake ping packet flush
\ No newline at end of file
@@ -3798,24 +3854,78 @@
# and quite some inline image data diffs not fitting in the 64k limit of GitHub comments. |
lenzarda
approved these changes
Aug 28, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Next warp 2024-08-08 ← 2024-08-14