鸿蒙子系统解读-分布式软总线子系统初步研究(下)
本文作者:江苏润和软件股份有限公司 郎建中
3.2. 数据传输
上一节我们看了PublishService()函数的代码实现过程。被发现端发布服务后,软总线回调发布成功的函数中,被发现端需要使用CreateSessionServer()来创建会话的服务器等待发现端的连接创建会话。下面我们就来分析CreateSessionServer()函数的实现过程。
数据传输部分的代码位于foundation/communication/services/softbus_lite/trans_service目录中。其目录结构如下:
CreateSessionServer()函数的实现就在tcp_session_manager.c中。我们看看这个函数的代码实现:
SoftBusCheckPermission()前面有介绍过,就是检查权限。
GetTcpMgrLock()和ReleaseTcpMgrLock()就是通过g_sessionManagerLock这个Mutex进行互斥操作,防止同一时间多个模块同时在创建Session Server。
真正的业务逻辑在CreateSessionServerInner()函数中,我们来看看代码&