Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
86026e99
A
apollo
项目概览
Pinoxchio
/
apollo
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apollo
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
86026e99
编写于
10月 29, 2018
作者:
X
Xiangquan Xiao
提交者:
Jiangtao Hu
12月 13, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Common: Add MessageFingerprint util. (#1370)
上级
c28f0317
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
27 addition
and
2 deletion
+27
-2
modules/common/util/message_util.h
modules/common/util/message_util.h
+7
-0
modules/common/util/message_util_test.cc
modules/common/util/message_util_test.cc
+20
-2
未找到文件。
modules/common/util/message_util.h
浏览文件 @
86026e99
...
...
@@ -87,6 +87,13 @@ bool DumpMessage(const std::shared_ptr<T>& msg,
*
msg
,
util
::
StrCat
(
dump_path
,
"/"
,
sequence_num
,
".pb.txt"
));
}
inline
size_t
MessageFingerprint
(
const
google
::
protobuf
::
Message
&
message
)
{
static
std
::
hash
<
std
::
string
>
hash_fn
;
std
::
string
proto_bytes
;
message
.
SerializeToString
(
&
proto_bytes
);
return
hash_fn
(
proto_bytes
);
}
// template <typename T, typename std::enable_if<
// std::is_base_of<Message, T>::value, int>::type = 0>
// double GetDelaySec(const std::shared_ptr<T>& msg) {
...
...
modules/common/util/message_util_test.cc
浏览文件 @
86026e99
...
...
@@ -25,7 +25,7 @@ namespace apollo {
namespace
common
{
namespace
util
{
TEST
(
StringUtilTest
,
dump_m
essage
)
{
TEST
(
MessageUtilTest
,
DumpM
essage
)
{
auto
a
=
1
;
EXPECT_TRUE
(
DumpMessage
(
a
));
auto
simple_msg
=
std
::
make_shared
<
test
::
SimpleMessage
>
();
...
...
@@ -35,7 +35,25 @@ TEST(StringUtilTest, dump_message) {
PathExists
(
"/tmp/apollo.common.util.test.SimpleMessage/0.pb.txt"
));
}
// TEST(StringUtilTest, get_desy_sec) {
TEST
(
MessageUtilTest
,
MessageFingerprint
)
{
test
::
SimpleMessage
msg
;
const
size_t
fp0
=
MessageFingerprint
(
msg
);
msg
.
set_integer
(
1
);
const
size_t
fp1
=
MessageFingerprint
(
msg
);
EXPECT_NE
(
fp0
,
fp1
);
msg
.
set_integer
(
2
);
EXPECT_NE
(
fp1
,
MessageFingerprint
(
msg
));
msg
.
set_integer
(
1
);
EXPECT_EQ
(
fp1
,
MessageFingerprint
(
msg
));
msg
.
clear_integer
();
EXPECT_EQ
(
fp0
,
MessageFingerprint
(
msg
));
}
// TEST(MessageUtilTest, get_desy_sec) {
// auto simple_msg = std::make_shared<test::SimpleMessage>();
// FillHeader("test", simple_msg.get());
// EXPECT_GT(GetDelaySec(simple_msg), 0);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录