Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Pinoxchio
apollo
提交
eb07d2c4
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,发现更多精彩内容 >>
提交
eb07d2c4
编写于
3月 20, 2019
作者:
Y
yaoweifeng01
提交者:
Xiangquan Xiao
3月 21, 2019
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
cyber: fix lint & add record info tools for python
上级
d5210144
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
66 addition
and
7 deletion
+66
-7
cyber/py_wrapper/py_node.h
cyber/py_wrapper/py_node.h
+8
-7
cyber/python/examples/record_channel_info.py
cyber/python/examples/record_channel_info.py
+58
-0
未找到文件。
cyber/py_wrapper/py_node.h
浏览文件 @
eb07d2c4
...
...
@@ -163,6 +163,7 @@ class PyReader {
std
::
condition_variable
msg_cond_
;
};
using
PyMsgWrapPtr
=
std
::
shared_ptr
<
apollo
::
cyber
::
message
::
PyMessageWrap
>
;
class
PyService
{
public:
PyService
(
const
std
::
string
&
service_name
,
const
std
::
string
&
data_type
,
...
...
@@ -175,7 +176,7 @@ class PyService {
const
std
::
shared_ptr
<
const
apollo
::
cyber
::
message
::
PyMessageWrap
>&
request
,
std
::
shared_ptr
<
apollo
::
cyber
::
message
::
PyMessageWrap
>&
response
)
{
this
->
cb
(
request
,
response
);
response
=
this
->
cb
(
request
);
};
service_
=
node_
->
CreateService
<
apollo
::
cyber
::
message
::
PyMessageWrap
,
apollo
::
cyber
::
message
::
PyMessageWrap
>
(
...
...
@@ -201,9 +202,9 @@ class PyService {
}
private:
void
cb
(
const
std
::
shared_ptr
<
const
apollo
::
cyber
::
message
::
PyMessageWrap
>&
request
,
std
::
shared_ptr
<
apollo
::
cyber
::
message
::
PyMessageWrap
>&
response
)
{
PyMsgWrapPtr
cb
(
const
std
::
shared_ptr
<
const
apollo
::
cyber
::
message
::
PyMessageWrap
>&
request
)
{
std
::
lock_guard
<
std
::
mutex
>
lg
(
msg_lock_
);
request_cache_
.
push_back
(
request
->
data
());
...
...
@@ -218,9 +219,9 @@ class PyService {
response_cache_
.
pop_front
();
}
std
::
shared_ptr
<
apollo
::
cyber
::
message
::
PyMessageWrap
>
m
;
m
.
reset
(
new
apollo
::
cyber
::
message
::
PyMessageWrap
(
msg
,
data_type_
));
re
sponse
=
m
;
PyMsgWrapPtr
response
;
response
.
reset
(
new
apollo
::
cyber
::
message
::
PyMessageWrap
(
msg
,
data_type_
));
re
turn
response
;
}
apollo
::
cyber
::
Node
*
node_
;
...
...
cyber/python/examples/record_channel_info.py
0 → 100644
浏览文件 @
eb07d2c4
# ****************************************************************************
# Copyright 2018 The Apollo Authors. All Rights Reserved.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ****************************************************************************
# -*- coding: utf-8 -*-
"""Module for example of record."""
import
time
import
sys
from
cyber_py
import
cyber
from
cyber_py
import
record
from
cyber.proto
import
record_pb2
from
google.protobuf.descriptor_pb2
import
FileDescriptorProto
def
print_channel_info
(
file_path
):
freader
=
record
.
RecordReader
(
file_path
)
channels
=
freader
.
get_channellist
()
header_msg
=
freader
.
get_headerstring
()
header
=
record_pb2
.
Header
()
header
.
ParseFromString
(
header_msg
)
print
""
print
"++++++++++++Begin Channel Info Statistics++++++++++++++"
print
"-"
*
40
print
"record version: %d.%d"
%
(
header
.
major_version
,
header
.
minor_version
)
print
"record message_number: "
,
header
.
message_number
print
"record file size(Byte) "
,
header
.
size
print
"chunk_number: "
,
header
.
chunk_number
print
"channel counts: "
,
len
(
channels
)
print
"-"
*
40
counts
=
1
for
channel
in
channels
:
desc
=
freader
.
get_protodesc
(
channel
)
print
"["
,
counts
,
"]"
,
"channel name: "
,
channel
,
"; desc size is "
,
len
(
desc
)
counts
=
counts
+
1
# print desc
print
"++++++++++++Finish Channel Info Statistics++++++++++++++"
print
""
if
__name__
==
'__main__'
:
cyber
.
init
()
rec_file
=
(
sys
.
argv
[
1
])
print_channel_info
(
rec_file
)
cyber
.
shutdown
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录