分布式软总线是 OpenHarmony 的重要能力,设计目标是实现多设备间的通信方式。分布式软总线是分布式硬件和分布式软总线的重要基础,分布式软总线提供一种不区分链路的设备间发现、组网和传输的能力:
在 OpenHarmony 的源码里和系统功能相关的部分大多都放在 foundation 这个文件夹里,而通讯相关的部分则是在 communication 这个文件夹内。我们本篇要分析的软总线功能就是在 foundation/communication/dsoftbus 路径下,具体目录结构如下:
.
├── adapter //适配层
│ ├── BUILD.gn
│ ├── common //适配层管理,网络适配,协议适配等
│ └── default_config //适配层配置
├── BUILD.gn
├── bundle.json
├── check_sub_module.py
├── components //依赖组件
│ ├── mbedtls //开源ssl库,在三方库里
│ └── nstackx //tcp/ip协议管理模块
├── config.py
├── core //核心层
│ ├── adapter //适配接口
│ ├── authentication //认证接口
│ ├── BUILD.gn
│ ├── bus_center //组网代码
│ ├── common //通用代码
│ ├── connection //连接代码
│ ├── discovery //发现代码
│ ├── frame //框架代码
│ └── transmission //传输代码
├── dsoftbus.gni
├── figures
│ ├── dsoftbus-architecture.png
│ └── dsoftbus-architecture_zh.png
├── hisysevent.yaml
├── interfaces //对外头文件
│ ├── inner_kits
│ └── kits
├── Kconfig
├── LICENSE
├── OAT.xml
├── README.md
├── README_zh.md
├── sdk //对外应用sdk
│ ├── BUILD.gn
│ ├── bus_center //组网
│ ├── discovery //发现
│ ├── frame //框架
│ └── transmission //传输
├── tests
│ ├── adapter
│ ├── BUILD.gn
│ ├── core
│ ├── include
│ └── sdk
└── tools //工具
├── BUILD.gn
└── device_info
distributedhardware和tools -->> softbus_client(sdk): so库引用,接口调用
softbus_client(sdk) --> bus_center_sdk_deps: 链接对应服务so,c++调用
softbus_client(sdk) --> trans_session_manager_sdk_deps: 链接对应服务so,c++调用
softbus_client(sdk) --> softbus_adapter: 链接对应服务so,c++调用
softbus_client(sdk) --> softbus_utils: 链接对应服务so,c++调用
bus_center_sdk_deps-->ipc_single: 链接对应的idlso,c接口调用
bus_center_sdk_deps-->samgr: 应用SystemAbility服务框架
trans_session_manager_sdk_deps-->nstackx(FillpSo/congestion/dfile/util): 链接对应服务so,c调用
如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。