PUBREC
Assured Publish Received (part 1)
This message is the response from the receiving end to a PUBLISH
message of QoS 2. It is the second message of the
QoS 2 protocol flow. See the Protocol Flow
section for more details. In the case of a PUBLISH being sent by
a publishing client, this would be from the broker. It is also the response
from a subscriber upon receiving a PUBLISH message of QoS2 from the broker.
Fixed Header
See the Fixed Header section for more information,
bit |
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
byte 1 |
Message Type (5)
|
DUP flag
|
QoS level
|
RETAIN
|
|
0
|
1
|
0
|
1
|
x
|
x
|
x
|
x
|
byte 2 |
Remaining Length (2)
|
|
0
|
0
|
0
|
0
|
0
|
0
|
1
|
0
|
QoS level
The QoS level is not used for the PUBREC message.
DUP flag
The DUP flag is not used for the PUBREC message.
RETAIN flag
The RETAIN flag is not used for the PUBREC message
Remaining Length
The Remaining Length is the length of the Variable Header (2 bytes)
This may be a multi-byte field. See the Fixed
Header section for more details.
Variable Header
The Variable Header portion of the PUBREC message contains the Message
Identifier of the PUBLISH message that is being
acknowledged.
See the Variable Header section for
more information.
bit |
7
|
6
|
5
|
4
|
3
|
2
|
1
|
0
|
byte 1 |
Message Identifier MSB
|
byte 2 |
Message Identifier LSB
|
Payload
NONE
Actions
Upon receipt of a PUBREC message, the recipient should send a PUBREL
message to the sender with the same Message Identifier. For more discussion
on actions to be performed, see the Protocol Flow
section.
Discussion
-
ASC on DUP flag
-
The protocol flows for QoS2 do not require the use of the DUP flag, so
it has been dropped.
-
ASC on naming
-
This is the message formerly known as PUBACK1
-
ASC on message mnemonics
-
PUBACK1, 2 and 3 are rather boring names for these messags. Can we think
of more meaningful names?
BACK to index
Last Modified: 19-Oct-99