KaiOS Data PDN 数据建立流程

2024-05-11 12:20
文章标签 数据 流程 建立 data pdn kaios

本文主要是介绍KaiOS Data PDN 数据建立流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

代码逻辑

APN创建

在 DataCallManager.jsm中,会对所有apnsetting创建一个datacall,其中会包含dataprofile的成员(通过apn参数来创建),在之后的流程用于直接发送到modem建立PDN。

PDN建立

1、DataCallManager.jsm -dcInterface.setupDataCall

//RILNetworkInterface.connect()->DataCall.connect->DataCall.setup()
setup(){dcInterface.setupDataCall(radioTechnology,this.dataProfile,//...//此处是把建立的datacall(this)中dataprofile属性值发送到RIL,在log中可以通过:“> RIL_REQUEST_SETUP_DATA_CALL”来查看需要建立datacall的dataprofile值。dataInfo.roaming,this.dataCallHandler.dataCallSettings.roamingEnabled,{QueryInterface: ChromeUtils.generateQI([Ci.nsIDataCallCallback]),notifySetupDataCallSuccess: aDataCall => {//回调函数,返回datacall建立结果this.onSetupDataCallResult(aDataCall);},notifyError: aErrorMsg => {this.onSetupDataCallResult({ errorMsg: aErrorMsg });},});this.state = NETWORK_STATE_CONNECTING;
},


2、/gecko/dom/system/gonk/radio/DataCallInterfaceService.jsm
DataCallInterfaceService的setupDataCall

  // nsIDataCallInterface  
setupDataCall: function(aRadioTechnology, aProfile, aIsRoaming, aAllowRoaming,aCallback) {//发送setupdatacall消息给到RILthis._radioInterface.sendWorkerMessage("setupDataCall", {radioTechnology: aRadioTechnology,profile: aProfile,isRoaming: aIsRoaming,allowRoaming: aAllowRoaming}, (aResponse) => {if (aResponse.errorMsg) {aCallback.notifyError(aResponse.errorMsg);} else {//如果没有error,返回datacall建立成功let dataCall = new DataCall(aResponse.dcResponse);aCallback.notifySetupDataCallSuccess(dataCall);}});},


3、/gecko/dom/system/gonk/radio/RadioInterfaceLayer.jsm
RadioInterfaceLayer.jsm - sendWorkerMessage

完成以下接口操作后,setup datacall的请求已经通过RIL消息发给了mode

这篇关于KaiOS Data PDN 数据建立流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/979518

相关文章

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化:

Python数据分析与可视化的全面指南(从数据清洗到图表呈现)

《Python数据分析与可视化的全面指南(从数据清洗到图表呈现)》Python是数据分析与可视化领域中最受欢迎的编程语言之一,凭借其丰富的库和工具,Python能够帮助我们快速处理、分析数据并生成高质... 目录一、数据采集与初步探索二、数据清洗的七种武器1. 缺失值处理策略2. 异常值检测与修正3. 数据

pandas实现数据concat拼接的示例代码

《pandas实现数据concat拼接的示例代码》pandas.concat用于合并DataFrame或Series,本文主要介绍了pandas实现数据concat拼接的示例代码,具有一定的参考价值,... 目录语法示例:使用pandas.concat合并数据默认的concat:参数axis=0,join=

C#代码实现解析WTGPS和BD数据

《C#代码实现解析WTGPS和BD数据》在现代的导航与定位应用中,准确解析GPS和北斗(BD)等卫星定位数据至关重要,本文将使用C#语言实现解析WTGPS和BD数据,需要的可以了解下... 目录一、代码结构概览1. 核心解析方法2. 位置信息解析3. 经纬度转换方法4. 日期和时间戳解析5. 辅助方法二、L

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

解决mysql插入数据锁等待超时报错:Lock wait timeout exceeded;try restarting transaction

《解决mysql插入数据锁等待超时报错:Lockwaittimeoutexceeded;tryrestartingtransaction》:本文主要介绍解决mysql插入数据锁等待超时报... 目录报错信息解决办法1、数据库中执行如下sql2、再到 INNODB_TRX 事务表中查看总结报错信息Lock

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Linux lvm实例之如何创建一个专用于MySQL数据存储的LVM卷组

《Linuxlvm实例之如何创建一个专用于MySQL数据存储的LVM卷组》:本文主要介绍使用Linux创建一个专用于MySQL数据存储的LVM卷组的实例,具有很好的参考价值,希望对大家有所帮助,... 目录在Centos 7上创建卷China编程组并配置mysql数据目录1. 检查现有磁盘2. 创建物理卷3. 创

Nacos日志与Raft的数据清理指南

《Nacos日志与Raft的数据清理指南》随着运行时间的增长,Nacos的日志文件(logs/)和Raft持久化数据(data/protocol/raft/)可能会占用大量磁盘空间,影响系统稳定性,本... 目录引言1. Nacos 日志文件(logs/ 目录)清理1.1 日志文件的作用1.2 是否可以删除

spring-gateway filters添加自定义过滤器实现流程分析(可插拔)

《spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔)》:本文主要介绍spring-gatewayfilters添加自定义过滤器实现流程分析(可插拔),本文通过实例图... 目录需求背景需求拆解设计流程及作用域逻辑处理代码逻辑需求背景公司要求,通过公司网络代理访问的请求需要做请