11#ifndef __RIL_EVENT_QUEUE_H__
12#define __RIL_EVENT_QUEUE_H__
23#define RIL_NOTIFICATION_QUEUE_CAPACITY 32U
26#define RIL_STATE_QUEUE_CAPACITY 32U
tbox_radio_rf_mode_t
射频工作模式。
Definition radio.h:101
tbox_sim_state_t
SIM 卡状态。
Definition sim.h:42
void ril_event_queues_get_stats(ril_event_queues_t *queues, ril_event_queue_stats_t *stats)
查询队列丢弃统计。
int ril_event_queues_pop_notification(ril_event_queues_t *queues, ril_notification_t *notification)
取出最早的业务通知。
size_t ril_event_queues_notification_count(ril_event_queues_t *queues)
查询当前通知事件数。
size_t ril_event_queues_state_count(ril_event_queues_t *queues)
查询当前状态事件数。
int ril_event_queues_push_state(ril_event_queues_t *queues, const ril_state_event_t *event)
将状态事件复制到状态队列。
ril_queue_class_t
事件所在队列
Definition ril_event_queue.h:35
@ RIL_QUEUE_NOTIFICATION
业务通知队列
Definition ril_event_queue.h:36
@ RIL_QUEUE_STATE
状态事件队列
Definition ril_event_queue.h:37
struct ril_notification_node ril_notification_node_t
业务通知链表节点前置声明。
Definition ril_event_queue.h:29
int ril_event_queues_push_notification(ril_event_queues_t *queues, const ril_notification_t *notification)
将业务通知复制到通知队列。
ril_state_event_type_t
守护进程状态事件类别
Definition ril_event_queue.h:53
@ RIL_STATE_PROBE
网络探测结果
Definition ril_event_queue.h:57
@ RIL_STATE_SIM
SIM 卡状态变化
Definition ril_event_queue.h:55
@ RIL_STATE_DATA
数据链路状态变化
Definition ril_event_queue.h:56
@ RIL_STATE_RADIO_REFRESH
无线网络状态刷新结果
Definition ril_event_queue.h:54
int ril_event_queues_init(ril_event_queues_t *queues)
初始化两个事件队列。
ril_notification_type_t
业务通知类别
Definition ril_event_queue.h:44
@ RIL_NOTIFICATION_SMS
接收短信通知
Definition ril_event_queue.h:45
@ RIL_NOTIFICATION_VOICE
语音或 eCall 通知
Definition ril_event_queue.h:46
#define RIL_STATE_QUEUE_CAPACITY
状态事件队列容量
Definition ril_event_queue.h:26
int ril_event_queues_pop_next(ril_event_queues_t *queues, ril_queue_class_t *queue_class, ril_notification_t *notification, ril_state_event_t *state)
在非空的通知和状态队列之间交替取出事件。
void ril_event_queues_deinit(ril_event_queues_t *queues)
释放事件队列资源。
int ril_event_queues_pop_state(ril_event_queues_t *queues, ril_state_event_t *event)
取出最早的状态事件。
已归一化的数据链路事件
Definition ril_backend.h:114
事件丢弃统计
Definition ril_event_queue.h:101
uint64_t notification_dropped
被丢弃的业务通知数量
Definition ril_event_queue.h:102
uint64_t state_dropped
被丢弃的状态事件数量
Definition ril_event_queue.h:103
通知和状态事件队列
Definition ril_event_queue.h:110
ril_event_queue_stats_t stats
事件丢弃统计
Definition ril_event_queue.h:124
size_t state_head
状态事件队首索引
Definition ril_event_queue.h:121
size_t notification_count
当前业务通知数量
Definition ril_event_queue.h:120
ril_queue_class_t next_queue
公平出队时优先选择的队列
Definition ril_event_queue.h:123
ril_notification_node_t * notification_tail
业务通知队尾
Definition ril_event_queue.h:116
size_t state_count
当前状态事件数量
Definition ril_event_queue.h:122
pthread_mutex_t mutex
保护全部队列状态的互斥锁
Definition ril_event_queue.h:112
ril_notification_node_t * notification_head
业务通知队首
Definition ril_event_queue.h:114
ril_state_event_t states[RIL_STATE_QUEUE_CAPACITY]
固定容量的状态事件存储
Definition ril_event_queue.h:118
bool initialized
队列是否已初始化
Definition ril_event_queue.h:125
业务通知
Definition ril_event_queue.h:73
tbox_sms_message_t sms
接收短信通知
Definition ril_event_queue.h:77
tbox_voice_event_t voice
语音或 eCall 通知
Definition ril_event_queue.h:78
ril_notification_type_t type
业务通知类别
Definition ril_event_queue.h:74
一轮 APN 网络探测结果
Definition ril_probe.h:46
无线状态刷新结果
Definition ril_event_queue.h:64
tbox_radio_registration_status_t registration
当前网络注册状态
Definition ril_event_queue.h:66
tbox_radio_rf_mode_t rf_mode
当前 RF 模式
Definition ril_event_queue.h:65
可延后处理的守护进程状态事件
Definition ril_event_queue.h:86
ril_state_event_type_t type
状态事件类别
Definition ril_event_queue.h:87
ril_radio_state_event_t radio
无线网络状态
Definition ril_event_queue.h:90
ril_backend_data_event_t data
数据链路状态
Definition ril_event_queue.h:92
tbox_sim_state_t sim
SIM 卡状态
Definition ril_event_queue.h:91
ril_probe_state_event_t probe
网络探测结果
Definition ril_event_queue.h:93
分业务注册状态。
Definition radio.h:81
收到的短消息。
Definition sms.h:113
语音事件。
Definition voice.h:196