Commit
48469456a4a92cd42256e33241dad3cbdd12a3a7
by zhaojianfeng2fix: enable Zenoh discovery for shared_memory_only mode
Fixed data reception issue where subscriber could not receive messages from publisher in ZENOH_MODE=shared_memory_only.
Root cause: Discovery mechanisms (multicast and Gossip) were completely disabled, preventing publisher and subscriber from discovering each other. Publisher's matching check would fail, causing it to skip publishing.
Solution: Enable both multicast (on loopback interface) and Gossip discovery for shared_memory_only mode. This allows pub/sub discovery while keeping network communication confined to localhost.
Changes: - Modified zenoh_session_manager.cpp to enable multicast on 'lo' interface - Added IPv6 loopback TCP endpoint for Gossip support - Kept multicast address restricted to localhost only
Testing confirms data now flows correctly: - throughput mode: 85.248 MB/s, 1151 msgs over 13.5s - basic mode: 96 msgs over 11.5s with 0.265ms avg latency
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/test/TEST_ZENOH_SHM_README.md |
 | src/test/bench_common.h |
 | CMakeLists.txt |
 | package.xml |
 | src/test/bench_zenoh_sub.cpp |
 | src/test/run_shm_test.sh |
 | zenoh_hybrid_config.json5 |
 | src/test/test_zenoh_shm_sub.cpp |
 | src/test/run_shm_test_shm_mode.sh |
 | src/zenoh_node/src/publisher.cpp |
 | src/zenoh_node/include/zenoh_node/node_handle.h |
 | src/test/TEST_SUMMARY.md |
 | src/test/test_zenoh_shm_sub |
 | src/test/zenoh_pandar_sub.cpp |
 | src/zenoh_node/src/node_handle.cpp |
 | src/zenoh_node/src/zenoh_session_manager.cpp |
 | .marscode/deviceInfo.json |
 | src/zenoh_node/src/subscriber.cpp |
 | src/test/bench_ros_sub.cpp |
 | src/test/diagnose_shm.sh |
 | src/test/QUICK_START.md |
 | src/test/UPDATES.md |
 | src/test/bench_ros_pub.cpp |
 | src/zenoh_node/include/zenoh_node/publisher.h |
 | src/test/PURE_COMMAND_GUIDE.md |
 | src/test/FILES_CREATED.md |
 | src/test/FIX_SUMMARY.md |
 | src/test/bench_zenoh_pub.cpp |
 | src/test/ANALYSIS_SHM_NOT_WORKING.md |
 | src/test/CHEATSHEET.md |
 | src/zenoh_node/include/zenoh_node/subscriber.h |
 | src/zenoh_node/src/zenoh_types.hpp |
 | src/test/verify_test.py |
 | src/zenoh_node/include/zenoh_node/zenoh_node.h |
 | src/zenoh_node/CMakeLists.txt |
 | src/test/CMakeLists.txt |
 | src/test/HOW_TO_USE_SHM.md |
 | src/test/SHM_QUICK_FIX.txt |
 | src/test/test_zenoh_shm_pub |
 | src/test/test_zenoh_shm_pub.cpp |
 | src/test/zenoh_lidar_sub.cpp |
 | src/test/PURE_COMMAND_QUICK_REF.txt |
 | src/test/run_shm_test_parallel.sh |
Commit
4e07e34fcf643abfaaee526ca86bf1e37ff320c2
by zhaojianfeng2docs: add comprehensive fix and solution documentation
- FIX_SUMMARY.md: Explains root cause and solution for data reception issue - SOLUTION_COMPLETE.md: Complete guide to using the test programs - Documents all modes, parameters, test results, and build instructions - Includes performance metrics and output examples
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/test/SOLUTION_COMPLETE.md |
Commit
d035a3d066a5b005065ee65e9b0aeb017a81c7ab
by zhaojianfeng2test: add verification script for SHM communication fix
Provides automated testing for all three modes (basic, throughput, latency) to quickly verify that data reception is working correctly.
Usage: ./verify_fix.sh
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/test/verify_fix.sh |
Commit
589a480a4b9bc394072b2904794b0cc9f75e6a1d
by zhaojianfeng2docs: translate documentation to Chinese
- FIX_SUMMARY.md: 翻译为中文,详细说明修复 - SOLUTION_COMPLETE.md: 翻译为中文,完整使用指南 - verify_fix.sh: 翻译为中文,自动化验证脚本
提供了所有关键文档的中文版本,包括问题分析、解决方案、 使用方法和测试结果。
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/test/FIX_SUMMARY.md |
 | src/test/SOLUTION_COMPLETE.md |
 | src/test/verify_fix.sh |
Commit
1534107cb2b9276a5f670e73742634f94e3bab5e
by zhaojianfeng2docs: add SHM support limitation documentation
Zenoh-C 1.7.2 does not include SHM transport support. Available transports: TCP, UDP, QUIC, TLS, WebSocket, Unix Socket Missing: shared-memory transport
Current implementation uses TCP on localhost (127.0.0.1) despite the ZENOH_MODE=shared_memory_only configuration. While not true zero-copy SHM, performance is still good with low latency and no network overhead.
To enable true SHM: - Recompile Zenoh-C with --features shared-memory - Or upgrade to a Zenoh version with SHM support enabled
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/test/SHM_LIMITATION.md |
Commit
a286ada8a9579ccb1ce0bb341af34fe7b56a7627
by zhaojianfeng2fix: configure Zenoh for true SHM transport with recompiled library
With Zenoh-C 1.7.1 recompiled with SHM support (Z_FEATURE_SHARED_MEMORY), configure shared_memory_only mode to use actual SHM transport:
- Listen on TCP 127.0.0.1 and [::1] for discovery and control - Enable Z_FEATURE_SHARED_MEMORY transport - Use multicast scouting for peer discovery - Enable Gossip protocol for connection establishment via TCP - SHM files created in /dev/shm/ for data transfer
Verification: - 1MB messages now use 16MB+ SHM buffers - Throughput: 86-93 MB/s - Latency: ~1.1ms average (SHM has different characteristics than TCP-only) - No network traffic outside localhost - True zero-copy data transfer via shared memory
Test with: ZENOH_MODE=shared_memory_only ./test_zenoh_shm_pub --mode throughput
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/zenoh_node/src/zenoh_session_manager.cpp |
 | src/test/test_zenoh_shm_pub |
 | src/test/test_zenoh_shm_sub |
Commit
498c8b0ccb153908ab0a88fe1abca724a9db54bd
by zhaojianfeng2docs: rename SHM limitation doc to SHM enabled
SHM is now fully working with recompiled Zenoh-C library. Document renamed and updated to reflect current status.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/test/SHM_LIMITATION.md |
 | src/test/SHM_ENABLED.md |
Commit
8e88d1f0af994f837b5979cf5ff6080c361572ee
by zhaojianfeng2docs: add comprehensive SHM success documentation
Explains the working architecture after recompiling Zenoh-C with SHM support: - TCP handles discovery/control plane (127.0.0.1) - SHM handles data plane (/dev/shm/*.zenoh files) - Multicast UDP for peer discovery - Gossip protocol for connection negotiation
Performance achieved: - 1MB messages at 100Hz: 86.9 MB/s, 1.1ms avg latency - True zero-copy via shared memory buffers - Only discovery/control on network, data via SHM
Includes verification methods and configuration details.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
|
 | src/test/SHM_SUCCESS.md |
Commit
8a48972ce17db52d38a5c52d3dc616802dcee407
by zhaojianfeng2feat_out:移除不必要依赖
|
 | package.xml |
 | src/test/CMakeLists.txt |