OrcaLink gRPC Client with MuJoCo-SPH Simulation Integration
Project description
OrcaLink - gRPC 会话转发和生命周期管理服务器
概述
OrcaLink 是一个企业级的 gRPC 中间件框架,支持:
- 🔄 实时数据转发:多客户端、多频道的双向通信
- 💾 灵活存储:纯转发模式和统计记账模式可选
- 🧹 自动生命周期管理:Session 空闲自动清理,释放资源
- 📊 完整的统计记账:所有操作均可被追踪和审计
- ⚡ 高性能:15K+ msg/sec 吞吐量,<2ms p99 延迟
核心特性
✨ 会话隔离 - 每个客户端独立会话,互不干扰
⚡ 高吞吐量 -
- 纯转发模式:15K+ msg/sec,<2ms p99 延迟
- 统计记账模式:10K+ msg/sec,<10ms p99 延迟
🧹 自动清理 -
- 空闲 Session 10 分钟后自动清理(可配置)
- 支持最低 10 秒超时,适合测试和演示
- 清理记录完整保存在数据库中
🔄 灵活配置 -
- 支持纯转发模式(最低延迟)
- 支持统计记账模式(完整数据追踪)
- 支持 Session 自动清理(资源释放)
💾 可靠存储 - 基于 SQLite 的高效数据持久化
🚀 生产级 -
- 完整的会话管理和资源清理
- 错误恢复和监控指标
- 完整的文档和测试套件
系统要求
- 操作系统:Linux, macOS, Windows
- Python:3.10+(用于 Python 客户端)
- C++ 编译器:
- Server:需要支持 C++17 的编译器(GCC 7+, Clang 5+, MSVC 2017+)
- Client 库:需要支持 C++14 的编译器(GCC 5+, Clang 3.4+)
- CMake:3.10+
- 内存:4GB+
安装
PyPI 安装(推荐)
pip install orca-link
安装后可以使用:
- Python 客户端:
import orcalink_client - 服务端命令行工具:
orcalink --help
快速开始
启动服务端
# 安装(如果尚未安装)
pip install orca-link
# 启动服务端
orcalink
# 预期输出:
# ✅ OrcaLink gRPC server started successfully on localhost:50351
# 🧹 Session cleanup enabled (idle timeout: 600s, check interval: 60s)
Python 客户端示例
import orcalink_client
# 连接到服务器
client = orcalink_client.OrcaLinkClient('localhost:50351')
# 加入会话
session = client.join_session(
session_id=1,
client_name='my_client',
publish_channels=[{'channel_id': 1, 'channel_type': 1}]
)
# 发布数据
client.publish_frame(
session_id=1,
channel_id=1,
frame_data={'units': [...]}
)
许可证
版权所有 © 2025 上海松应科技有限公司
保留所有权利。
本软件仅供授权用户使用。未经明确授权,禁止复制、修改、分发或使用本软件。
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file orca_link-26.1.3-cp313-cp313-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: orca_link-26.1.3-cp313-cp313-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 6.0 MB
- Tags: CPython 3.13, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14d72db28d01e0e9a520a78c10cb13bb54ec019eae1e7e7fa19dc3625fbb8b4e
|
|
| MD5 |
1ebd3da0fde31fe84c658e0e0be216b9
|
|
| BLAKE2b-256 |
e32b61af1737f33348bf36484798593b8f80f86fc1dfbfac64c4196398968b97
|
File details
Details for the file orca_link-26.1.3-cp312-cp312-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: orca_link-26.1.3-cp312-cp312-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 6.0 MB
- Tags: CPython 3.12, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad64ef63e613bcebffccd51554e6731cbf2443be1712794439b604754843a34d
|
|
| MD5 |
ccd6c60ef34a48a56e665c9ac5ffca2f
|
|
| BLAKE2b-256 |
c7698319b1c9236a0cc74c3d81bce97abe69d60bb56e97d6264a7b03c4ef2d9c
|
File details
Details for the file orca_link-26.1.3-cp311-cp311-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: orca_link-26.1.3-cp311-cp311-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 6.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4ab61c2957a878f17a763440aeebf62b45fc10eda1eb078cef147947f07eb21
|
|
| MD5 |
6fe410d61708e37c13d273053f4656fa
|
|
| BLAKE2b-256 |
995b23a24606610a30ce8782dd3b560f9702cde370392f2cbdfa3135a0dd8472
|
File details
Details for the file orca_link-26.1.3-cp310-cp310-manylinux_2_38_x86_64.whl.
File metadata
- Download URL: orca_link-26.1.3-cp310-cp310-manylinux_2_38_x86_64.whl
- Upload date:
- Size: 6.0 MB
- Tags: CPython 3.10, manylinux: glibc 2.38+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88ad725733adcc688a0541c4bdfe2f4e4ad133c69bf1914618130f7b71a42c51
|
|
| MD5 |
7f2e8bd30b0185db1abc9b6297394007
|
|
| BLAKE2b-256 |
39932c6ee172a0223e95eaa9914d1c37d1006bb02c016c80759a185837f04e94
|