Bugfix: Missing flags in publish message
This commit is contained in:
parent
7a03c95889
commit
6590736a9d
1 changed files with 9 additions and 0 deletions
|
@ -353,6 +353,15 @@ Buffer *encode_publish(PublishPayload *payload) {
|
||||||
|
|
||||||
Buffer *buffer = make_buffer_for_header(sz, PacketTypePublish);
|
Buffer *buffer = make_buffer_for_header(sz, PacketTypePublish);
|
||||||
|
|
||||||
|
// Flags in header
|
||||||
|
if (payload->retain) {
|
||||||
|
buffer->data[buffer->position - 2] |= 1;
|
||||||
|
}
|
||||||
|
buffer->data[buffer->position - 2] |= (payload->qos << 1);
|
||||||
|
if (payload->duplicate) {
|
||||||
|
buffer->data[buffer->position - 2] |= 8;
|
||||||
|
}
|
||||||
|
|
||||||
// Variable header
|
// Variable header
|
||||||
utf8_string_encode(payload->topic, buffer);
|
utf8_string_encode(payload->topic, buffer);
|
||||||
buffer->data[buffer->position++] = (payload->packet_id & 0xff00) >> 8;
|
buffer->data[buffer->position++] = (payload->packet_id & 0xff00) >> 8;
|
||||||
|
|
Loading…
Reference in a new issue