Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Eclipse Foundation
Eclipse Paho C Client Library for the MQTT Protocol
提交
31c44e79
E
Eclipse Paho C Client Library for the MQTT Protocol
项目概览
镜像
/
Eclipse Foundation
/
Eclipse Paho C Client Library for the MQTT Protocol
10 个月 前同步成功
通知
251
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
E
Eclipse Paho C Client Library for the MQTT Protocol
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
31c44e79
编写于
7月 28, 2021
作者:
I
Ian Craggs
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Change ordering of acks to after processing incoming message
上级
de1bc380
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
3 addition
and
6 deletion
+3
-6
src/MQTTProtocolClient.c
src/MQTTProtocolClient.c
+3
-6
未找到文件。
src/MQTTProtocolClient.c
浏览文件 @
31c44e79
...
...
@@ -325,10 +325,8 @@ int MQTTProtocol_handlePublishes(void* pack, int sock)
rc
=
SOCKET_ERROR
;
/* queue acks? */
else
if
(
publish
->
header
.
bits
.
qos
==
1
)
{
/* send puback before processing the publications because a lot of return publications could fill up the socket buffer */
rc
=
MQTTPacket_send_puback
(
publish
->
MQTTVersion
,
publish
->
msgId
,
&
client
->
net
,
client
->
clientID
);
/* if we get a socket error from sending the puback, should we ignore the publication? */
Protocol_processPublication
(
publish
,
client
,
1
);
rc
=
MQTTPacket_send_puback
(
publish
->
MQTTVersion
,
publish
->
msgId
,
&
client
->
net
,
client
->
clientID
);
}
else
if
(
publish
->
header
.
bits
.
qos
==
2
)
{
...
...
@@ -364,7 +362,6 @@ int MQTTProtocol_handlePublishes(void* pack, int sock)
already_received
=
1
;
}
else
ListAppend
(
client
->
inboundMsgs
,
m
,
sizeof
(
Messages
)
+
len
);
rc
=
MQTTPacket_send_pubrec
(
publish
->
MQTTVersion
,
publish
->
msgId
,
&
client
->
net
,
client
->
clientID
);
if
(
m
->
MQTTVersion
>=
MQTTVERSION_5
&&
already_received
==
0
)
{
Publish
publish1
;
...
...
@@ -394,6 +391,7 @@ int MQTTProtocol_handlePublishes(void* pack, int sock)
}
memcpy
(
m
->
publish
->
payload
,
temp
,
m
->
publish
->
payloadlen
);
}
rc
=
MQTTPacket_send_pubrec
(
publish
->
MQTTVersion
,
publish
->
msgId
,
&
client
->
net
,
client
->
clientID
);
publish
->
topic
=
NULL
;
}
exit:
...
...
@@ -558,8 +556,6 @@ int MQTTProtocol_handlePubrels(void* pack, int sock)
Publish
publish
;
memset
(
&
publish
,
'\0'
,
sizeof
(
publish
));
/* send pubcomp before processing the publications because a lot of return publications could fill up the socket buffer */
rc
=
MQTTPacket_send_pubcomp
(
pubrel
->
MQTTVersion
,
pubrel
->
msgId
,
&
client
->
net
,
client
->
clientID
);
publish
.
header
.
bits
.
qos
=
m
->
qos
;
publish
.
header
.
bits
.
retain
=
m
->
retain
;
publish
.
msgId
=
m
->
msgid
;
...
...
@@ -586,6 +582,7 @@ int MQTTProtocol_handlePubrels(void* pack, int sock)
ListRemove
(
&
(
state
.
publications
),
m
->
publish
);
ListRemove
(
client
->
inboundMsgs
,
m
);
++
(
state
.
msgs_received
);
rc
=
MQTTPacket_send_pubcomp
(
pubrel
->
MQTTVersion
,
pubrel
->
msgId
,
&
client
->
net
,
client
->
clientID
);
}
}
if
(
pubrel
->
MQTTVersion
>=
MQTTVERSION_5
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录