qcril:第3章 RILJ运行机制

第3章 RILJ运行机制

 

3.1 rilj运行机制

RILJ的java对象也称为RILJ,包括RILSender和RILReceiver。

Socilited:对之前RILJ发出的request进行回应的消息;

Unsolicited:modem主动上报的消息。(单方向:RILC--->RILJ)

RILJ运行机制,如下图:

总体流程:

Request请求消息类(solicited request)通过RILSender发送到RILC,底层处理完成后RILC将结果以请求类response返回类型消息(solicited response)发送给RILReceiver;

底层主动上报非请求类response消息(unSolicited response),RILC发送给RILReceiver,RILJ处理完成后,通过Tracker继续发起request请求类查询相关消息。

RILSender响应handleMessage消息,保存并发送solicited请求类RILRequest消息;

RILReceiver监听socket消息,处理RILD上报的消息,包括solicited请求类和unsolicited非请求类response返回消息。

3.1.1 RILJ接收Response消息处理流程

    1)RILReceiver负责监听socket消息接收并处理RILC上报消息,现在RILReceiver的处理逻辑被封装在了jar包里面,其处理逻辑可以分为两大部分:

    a. socket连接的维护过程;

b. 阻塞socket输入流,接收并处理RILC Response。

2)接收并处理RILC发出的Response消息

我看的处理消息是processResponse中进行处理的。

processResponse

if (type == RadioResponseType.SOLICITED_ACK) {//判断消息的类型;

rr = mRequestList.get(serial):读取solicited response消息的序列号;

findAndRemoveRequestFromList(serial):根据序列号从mRequestList列表中获取RILRequest对象,获取到RILRequest对象后会将此对象从mRequestList列表移除。

3.1.2 总述

RILJ发起solicited消息请求时,将RILRequest请求对象保存到mRequestList列表;而RILC处理完成返回消息后,将此消息从mRequestList列表移除。说明:solicited request和solicited response消息在正常情况下是处于一一对应的关系的。也说明在发起ril请求时需要保存RILRequest对象。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值