Comments (6)
Apollo-platform is originated from ROS Indigo release version(Indigo Igloo, May 2014), compared to original ROS, we made the following improvements to enhance its stability and performance:
- ROS Decentralization Feature
- High Efficient Communication based on Shared Memory Transport Feature
- Native Support with Protobuf Feature
You can download the source code of indigo igloo release version from ROS website(http://wiki.ros.org/indigo/Installation/Source), then by comparing the files, you can find the detailed changes we made.
from apollo-platform.
Thank you very much ,your answer is very useful~~
from apollo-platform.
I have compare the source code ,
And I found all the change files about shared memory are in dir "/ros/ros_comm/roscpp/src/" ,But I am not sure if it is right.
so
@bjtulynn Can you tell me which files you have changed for the Feature "High Efficient Communication based on Shared Memory Transport Feature" except the dir "/ros/ros_comm/roscpp/src/"
I want to read the source code about the Feature , Maybe I can write an article to introduce the feature in source code level。
from apollo-platform.
node节点添加共享内存修改的文件,新增了一部分文件,修改了一部分文件,仅修改了roscpp/libros rosbag中的文件
new add files
src/ros_comm/roscpp/include/ros/config_comm.h
src/ros_comm/roscpp/include/sharedmem_transport/rossharedmem_block.h
src/ros_comm/roscpp/include/sharedmem_transport/sharedmem_publisher_impl.h
src/ros_comm/roscpp/include/sharedmem_transport/sharedmem_segment.h
src/ros_comm/roscpp/include/sharedmem_transport/sharedmem_util.h
src/libros/sharedmem_transport/sharedmem_block.cpp
src/libros/sharedmem_transport/sharedmem_publisher_impl.cpp
src/libros/sharedmem_transport/sharedmem_segment.cpp
src/libros/sharedmem_transport/sharedmem_util.cpp
transport_mode.yaml
modify files
src/ros_comm/roscpp/include/ros/publisher.h
src/ros_comm/roscpp/include/ros/shm_manager.h
src/ros_comm/roscpp/include/ros/subscribe_options.h
src/ros_comm/roscpp/include/ros/subscription_callback_helper.h
src/ros_comm/roscpp/include/ros/subscription_queue.h
src/ros_comm/roscpp/include/ros/topic_manager.h
src/ros_comm/roscpp/src/libros/init.cpp
src/ros_comm/roscpp/src/libros/publication.cpp
src/ros_comm/roscpp/src/libros/publisher.cpp
src/ros_comm/roscpp/src/libros/shm_manager.cpp
src/ros_comm/roscpp/src/libros/subscription_queue.cpp
src/ros_comm/roscpp/src/libros/topic_manager.cpp
src/ros_comm/rosbag/src/recorder.cpp
from apollo-platform.
Good job! For the feature "High Efficient Communication based on Shared Memory Transport Feature", the changed files are exactly these.
from apollo-platform.
Close issue after no inactive for 7 days.
from apollo-platform.
Related Issues (20)
- sharedmem_transport::SharedMemorySegment 是线程安全的吗?
- runtime platfom
- ros ./build.sh build failed
- 节点在发布消息时被阻塞
- sharedmemory 中锁的问题
- build error
- Runtime error
- Publish is thread-safe?
- About pyc clean opretion
- YAML FAULT when build libroscpp
- apollo-platform roscore failed to start
- FastRTPS Usage HOT 2
- ShareMemory 实现中存在的问题, 请确认 HOT 2
- fastrtps 启动过程中发生死锁
- deadlock issue of apollo ros
- 想把apollo-platform移植到ros kinetic上,不知道需要改动哪些文件 HOT 1
- rosservice call 会有内存泄露的问题 HOT 1
- DROPPED_RTPSPARTICIPANT error while building modules. How to FastRTPS_1.4.0.patch ?
- 起多个节点的情况下,上下游节点的CPU会大幅上升
- How is the native protobuf support implemented?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apollo-platform.